Oppure

Loading
09/06/08 14:49
Tiddiò
Ciao a tutti.
Ho provato a creare quel programma che simula il movimento delle palline nel form.
Per il movimento delle palline ho utilizzato un Timer nel quale ho inserito questo codice:

pallina.Top = pallina.Top + 1
pallina.Left = pallina.Left + 1


Fino a qui tutto ok, però volevo sapere come riprodurre il rimbalzo della pallina sul bordo del form.
Grazie
aaa
09/06/08 15:23
antometal
è stato il mio primo programma di grafica

lo posto sul sito se lo trovo ancora

cmq ti servono delle variabili per conoscere la posizione precedente dell' oggetto e quindi decidere di conseguenza

tipo: se il top supera il width del form deve cambiare direzione
aaa
09/06/08 15:45
antometal
ho trovato il programma puoi scaricarlo dal sito
aaa
09/06/08 18:56
Tiddiò
mi posteresti il link senza che mi guardo tutte le pagine? Grazie
aaa
09/06/08 19:05
antometal
il prog bisogna prima certificarlo poi se viene certificato lo si può scaricare dalla pagina che trovi pierotofy.it/pages/sorgenti/Visual_Basic/

cmq sulla sinistra cè sotto sorgenti trovi visual basic

cmq se vuoi il prog scaricalo da antonioserver.no-ip.org/downup/…

fammi sapere
aaa
09/06/08 19:17
Tiddiò
Allora ho letto il codice ed ho capito che il codice del rimbalzo è in queste righe, me le potresti spiegare?

 If x.Left <= 0 Then b = 1
    If x.Left >= Me.Width Then b = 2
    If x.Top <= 0 Then b = 3
    If x.Top >= Me.Height Then b = 4
    If x.Top <= 0 And lx(1) > lx(10) Then b = 2
    If x.Left <= 0 And tx(1) < tx(10) Then b = 3
    If x.Top >= Me.Height And lx(1) < lx(10) Then b = 1
    If x.Left >= Me.Width And tx(1) > tx(10) Then b = 4


Io in precedenza avevo provato così

If x.Top > Form1.Whidth Then
x.Top = x.Top - 1
x.Left = x.Left + 1


Questo per il rimbalzo che sarebbe avvenuto quando la pallina toccava la parte inferiore del form. Purtroppo non funziona.
aaa
09/06/08 19:56
antometal
la parte che hai indicato tu è solo il controllo che imposta la variabile b che comporterà il moto della palla

i 2 vettori servono per salvare le coordinate precendenti della palla

riguardandolo noto che è uno dei miei codici peggiori,
al posto dei vettori avrei dovuto usare solo 2 variabile per coordinata (in modo da avere un ipotetio vettore direzionale)

il problema del tuo codice è che viene eseguito solo una volta

nel mio invece, una volta verificata la condizione x.top>....
imposta il parametro b che viene modificato solo quando le coordinate della palla arriva a bordo schermo

spero di aver chiarito i tuoi dubbi, se nn fosse così chiedi ancora
aaa
09/06/08 21:51
antometal
siccome il codice nn mi piaceva l' ho aggiornato
è un po complesso x uno che inizia, ma ci sono ho aggiunto anche dei commenti
puoi scaricarlo dallo stesso link di prima:k:
aaa