Tällä koodilla saa objektin putoamaan ja pomppaamaan toisesta objektista. Laita formille kolme buttonia (command1,command2,command3) ja timer(timer1). Esimerkissä command1 putoaa ja pomppaa command2:teen osuessaan.
Formille
'Propsit Kaviaari:lle kimmoisuus-efektistä :)
'Muuttuja dimmataan (ylläri!)
Dim nopeus As Long
Dim kimmoisuus As Long
Private Sub Command3_Click()
'Pudotetaan uudestaan
nopeus = 0
Command1.Top = 100
End Sub
Private Sub Form_Load()
'Kimmoisuus
kimmoisuus = 30
'Timerin viive
Timer1.Interval = 10
'Asetetaan formin tietoja
Form1.AutoRedraw = True
Form1.ScaleMode = 3
'Nopeus on aluksi nolla
nopeus = 0
'Asetetaan nappien paikat ja tekstit
Command1.Top = 100
Command1.Left = 100
Command2.Top = 400
Command2.Left = 120
Command1.Width = 30
Command1.Height = 30
Command2.Width = 40
Command2.Height = 20
Command1.Caption = "X"
Command2.Caption = "Stoppi"
Command3.Caption = "Uudelleen"
End Sub
Private Sub Timer1_Timer()
'Osuuko nappi toiseen?
If Command1.Top + Command1.Height = Command2.Top Then
'Osuu, pomppu
nopeus = nopeus - 1
If nopeus > 0 Then
nopeus = -nopeus + nopeus / kimmoisuus
Command1.Top = Command1.Top + nopeus
End If
Else
'Ei osu, pudotetaan ja kasvatetaan nopeutta. Katsotaan, ettei putoa toisen napin "läpi"
nopeus = nopeus + 1
If Command2.Left <= (Command1.Left + Command1.Width) And Command2.Left >= Command1.Left Then
If Command1.Top + Command1.Height < Command2.Top Then
If (Command1.Top + Command1.Height + nopeus) > Command2.Top Then
Command1.Top = (Command2.Top - Command1.Height)
Else
Command1.Top = Command1.Top + nopeus
End If
End If
Else
Command1.Top = Command1.Top + nopeus
End If
End If
End Subeka!
Aihe on jo aika vanha, joten et voi enää vastata siihen.