Dim flagVertikal ' Флаг за промяна на посоката по вертикала
Dim
flagHorizontal ' Флаг за промяна на посоката по хоризонтала
Private
Sub Command1_Click()
flagVertikal
= 1 ' Задавам посоката по вертикала
flagHorizontal
= 1 ' Задавам посока по хоризонтала
Timer1.Enabled
= True ' Пускам таймер1, който задвижва топчето по хоризонтала
Timer2.Enabled
= True ' Пускам таймер2, който задвижва топчето по вертикала
Command1.Visible
= False ' Правя невидим бутона за стартиране
End Sub
Private
Sub Timer1_Timer()
If Shape1.Top
<= 0 Then flagVertikal = 1 ' Ако височината на топчето стане отрицателно
число сменям посоката по вертикала
If
Shape1.Top >= Line1.Y1 - Shape1.Height Then flagVertikal = -1 ' Ако
височината на топчето достигне черната линия отново сменям посоката по вертикала
Shape1.Top
= Shape1.Top + 50 * flagVertikal ' Реалното преместване на топчето по вертикала
If
flagVertikal = 1 Then ' Следва комбинация от IF-ове за смяна цвета на топчето в
зависимост от флаговете
If
flagHorizontal = 1 Then
Shape1.FillColor
= vbBlue
Else
Shape1.FillColor
= vbGreen
End If
Else
If
flagHorizontal = 1 Then
Shape1.FillColor
= vbRed
Else
Shape1.FillColor
= vbYellow
End If
End If
End Sub
Private
Sub Timer2_Timer()
If
Shape1.Left <= 0 Then flagHorizontal = 1 ' Ако разстоянието отляво на
топчето стане равно на 0 сменям посоката по хоризонтала
If
Shape1.Left >= Line1.X2 - Shape1.Width Then flagHorizontal = -1 'Ако
разстоянието отляво стане равно на линията минус ширината на топчето сменям пак
посоката
Shape1.Left
= Shape1.Left + 50 * flagHorizontal 'Реално преместване на топчето по
хоризонталата
End Sub
Private
Sub Form_Click()
Timer1.Enabled
= False ' Спирам таймера за преместване по вертикалата
Timer2.Enabled
= False ' Спирам таймера за преместване по хоризонталата
Command1.Visible
= True ' Правя видим бутона за стартиране на таймерите
End Sub
Private
Sub Form_Resize()
Line1.X2
= Form1.Width - 250 ' При преозразмеряване на формата променям дължината на
линията
End Sub