Grazie a tutti ragazzi è riuscito tutto bene grazie a voi...evito di aprire un altro topic e quindi vi faccio un'altra domanda sempre qui che riguarda lo stesso argomento.: devo fare un programmino nel quale sia presente una shape (shpCircle) che in pratica deve muoversi linearmente (da sinistra a destra) nel form e quando tocca uno dei bordi deve "rimbalzare". La velocità di movimento della shape la definisco io per mezzo di una scrollbar. Ho dichiarato una variabile booleana (avanti) che dovrebbe essere vera all'avvio del form e appena tocca il bordo destro del form stesso deve diventare falsa e far variare quindi il movimento della pallina nel verso opposto e così via...ora ho fatto il programma ma il problema è che quando tocca il bordo destro del form fa un passetto indietro e poi ritorna ad andare avanti facendo questo movimento all'infinito....come potrei risolvere??
ecco il codice intanto:
Option Explicit
Dim Avanti As Boolean
Private Sub cmdStart_Click()
tmrTempo.Enabled = True
End Sub
Private Sub cmdStop_Click()
tmrTempo.Enabled = False
End Sub
Private Sub Form_Load()
tmrTempo.Interval = hsbTempo.Value
Avanti = True
End Sub
Private Sub hsbTempo_Change()
tmrTempo.Interval = hsbTempo.Value
End Sub
Private Sub tmrTempo_Timer()
If (shpCircle.Left + shpCircle.Width) = (Form1.ScaleLeft + Form1.ScaleWidth) Then
Avanti = True
Else
Avanti = False
End If
If Avanti = True Then
shpCircle.Left = shpCircle.Left + 100
Else
shpCircle.Left = shpCircle.Left - 100
End If
End Sub
Ultima modifica effettuata da dany92 il 19/11/2008 alle 18:14 |