Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 23
  1. #11
    Ok..prova a realizzare ciò che hai scritto e vediamo un pò il risultato e soprattutto se va bene a 4ur0n..

    ciao

  2. #12
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    8
    Ok, proverò un pochino Grazie per l'aiuto.

  3. #13
    Ciao..al posto di Pset io userei una matrice di controlli Shape, che ti permettono di spostare gli oggetti ed ingrandirli con poche righe di codice, a differenza dei punti disegnati con la funzione pset difficili da gestire, ma questa è solo una mia opinione.

    Ciao

  4. #14
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    8
    Originariamente inviato da MdE2005
    Ciao..al posto di Pset io userei una matrice di controlli Shape, che ti permettono di spostare gli oggetti ed ingrandirli con poche righe di codice, a differenza dei punti disegnati con la funzione pset difficili da gestire, ma questa è solo una mia opinione.

    Ciao

    Mhhh, cioè?

  5. #15
    Ciao..
    1) conosci il significato di matrice?
    2) conosci l'oggetto Shape?
    3) conosci le proprietà di tale oggetto?
    4) sai usare l'istruzione randomize?

    Praticamente al posto dei punti inserisci questi shape e, modificando le proprietà Height, Width, Left e Top modifichi le dimensioni e la posizione dello shape, che rappresenta la tua stella..

    ciao

  6. #16
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    8
    Originariamente inviato da MdE2005
    Ciao..
    1) conosci il significato di matrice?
    2) conosci l'oggetto Shape?
    3) conosci le proprietà di tale oggetto?
    4) sai usare l'istruzione randomize?

    Praticamente al posto dei punti inserisci questi shape e, modificando le proprietà Height, Width, Left e Top modifichi le dimensioni e la posizione dello shape, che rappresenta la tua stella..

    ciao

    Soltanto Randomize

  7. #17
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    tempo fa avevo una cosa fatta in QBASIC, sono riuscito a ripescarla

    nostalgicamente convertito in VB6, ecco il codice che genera un campo stellare 3D con movimento di camera

    perchè funzioni, devi mettere un Timer sul form.

    codice:
    Private Type star3
      x As Double
      y As Double
      z As Double
      v As Double
    End Type
    
    Private Type star2
      x As Double
      y As Double
    End Type
    
    Private Type camera
      xan As Double
      yan As Double
      zan As Double
      xve As Double
      yve As Double
      zve As Double
      xac As Double
      yac As Double
      zac As Double
    End Type
    
    Dim CENTERX
    Dim CENTERY
    Dim STARS
    Dim SCAL
    Dim ACC
    Dim DAMP
    
    Dim s() As star3
    Dim ss() As star2
    Dim n As star3
    Dim r As star3
    Dim cam As camera
    
    Sub APIXEL(wx As Double, wy As Double, c As Double)
    
      x = Int(wx): y = Int(wy)
      fx = wx - x: fy = wy - y
    
      COL = c
      COL1 = c / 2
      
      PSet (x, y), RGB(COL, COL, COL)
      PSet (x + 1, y), RGB(COL1, COL1, COL1)
      PSet (x, y + 1), RGB(COL1, COL1, COL1)
      PSet (x + 1, y + 1), RGB(COL1, COL1, COL1)
    End Sub
    
    Private Sub Form_Click()
    Unload Me
    End Sub
    
    Private Sub Form_Load()
    Me.ScaleMode = 3
    Me.WindowState = 2
    End Sub
    
    Private Sub Form_Resize()
    Me.BackColor = vbBlack
    Me.Cls
    CENTERX = Me.ScaleWidth / 2
    CENTERY = Me.ScaleHeight / 2
    STARS = 500
    SCAL = 255
    ACC = 0.00001
    DAMP = 0.99
    ReDim s(STARS)
    ReDim ss(STARS)
    
    Randomize Timer
    For i = 0 To STARS
      s(i).x = (Rnd * Me.ScaleWidth * 2) - Me.ScaleWidth
      s(i).y = (Rnd * Me.ScaleHeight * 2) - Me.ScaleHeight
      s(i).z = (Rnd * 100) + 900
      s(i).v = (Rnd * 25) + 5
    Next i
    
    End Sub
    
    Private Sub Timer1_Timer()
    
    Static drawing As Boolean
    If drawing Then Exit Sub
    drawing = True
      
      cam.xac = (cam.xac + (Rnd * ACC * 2) - ACC)
      cam.yac = (cam.yac + (Rnd * ACC * 2) - ACC)
      cam.zac = (cam.zac + (Rnd * ACC * 2) - ACC)
                                              
      cam.xve = cam.xve + cam.xac
      cam.yve = cam.yve + cam.yac
      cam.zve = cam.zve + cam.zac
    
      cam.xac = cam.xac * DAMP
      cam.yac = cam.yac * DAMP
      cam.zac = cam.zac * DAMP
    
      cam.xve = cam.xve * DAMP
      cam.yve = cam.yve * DAMP
      cam.zve = cam.zve * DAMP
    
      cam.xan = (cam.xan + cam.xve) * DAMP
      cam.yan = (cam.yan + cam.yve) * DAMP
      cam.zan = (cam.zan + cam.zve) * DAMP
    
      For i = 0 To STARS
        APIXEL ss(i).x, ss(i).y, 0
        s(i).z = s(i).z - s(i).v
        
        n.y = Cos(cam.xan) * s(i).y - Sin(cam.xan) * s(i).z
        n.z = Sin(cam.xan) * s(i).y - Cos(cam.xan) * s(i).z
    
        n.x = Cos(cam.yan) * s(i).x + Sin(cam.yan) * n.z
        r.z = -Sin(cam.yan) * s(i).x + Cos(cam.yan) * n.z
    
        r.x = Cos(cam.zan) * n.x - Sin(cam.zan) * n.y
        r.y = Sin(cam.zan) * n.x + Cos(cam.zan) * n.y
    
        ss(i).x = r.x / r.z * SCAL + CENTERX
        ss(i).y = r.y / r.z * SCAL + CENTERY
      
        If ss(i).x < 0 Or ss(i).x > CENTERX * 2 Or ss(i).y < 0 Or ss(i).y > CENTERY * 2 Or s(i).z < 1 Then
          s(i).x = (Rnd * Me.ScaleWidth * 2) - Me.ScaleWidth
          s(i).y = (Rnd * Me.ScaleHeight * 2) - Me.ScaleHeight
          s(i).z = (Rnd * 100) + 900
          s(i).v = (Rnd * 50) + 5
        End If
        APIXEL ss(i).x, ss(i).y, 255 - (s(i).z * (255 / Me.ScaleWidth))
      Next
        
        DoEvents
    
    drawing = False
    
    End Sub
    Boolean

  8. #18
    Ciao Mirko..ancora complimenti, l'effetto è perfetto, credo che anche 4ur0n sia d'accordo con me..

    ciao

  9. #19
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    343
    Ciao, a me il codice di Boolean non funziona.....
    Mi dice
    "Chiamata di routine o argometo non valido" e mi evidenzia questa riga:

    PSet (x, y), RGB(COL, COL, COL)

    Boh
    Ciao
    Ste

  10. #20
    Quasi certamente il problema risiede nelle variabili x,y usate: sei sicuro di aver dichiarato tutto? E soprattutto nella form? Perchè se ci fai caso, le dichiarazioni sono "Private" quindi se inserite in un modulo l'effetto del campo non funziona..

    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.