Одним з головних об`єктів анімації, і взагалі всього

advertisement
Одним з головних об'єктів анімації, і взагалі всього
програмування, є Timer, Входимо в VB, натискаємо Standart
EXE. На форму кидаємо 1 кнопку з властивістю Caption
рівним "Пуск", 1 Shape(фігура) з властивістю Shape рівним 3
- Circle(Коло), і властивістю BackStyle рівним 1 - Opaque(для
зафарбовування фігури), і 3 Timera властивість Interval
рівним 1(це час через який Timer буде оновлюватися (мл)), і
властивість Enabled рівним False(брехня), щоб вимкнути
Таймер, а щоб включити таймер тобі треба властивість
Enabled поставити True(І це властивість є у всіх об'єктів,
навіть у текстового поля). У тебе повинна вийти така
штука:
Private Sub Command1_Click()
Timer1.Enabled = True
Timer3.Enabled = True
End Sub
Private Sub Form_Load()
End Sub
Private Sub Timer1_Timer()
Shape1.Left = Shape1.Left + 25
End Sub
Private Sub Timer2_Timer()
Shape1.Left = Shape1.Left - 25
End Sub
Private Sub Timer3_Timer()
If Shape1.Left <= -400 Then
Timer1.Enabled = True
Timer2.Enabled = False
End If
If Shape1.Left >= 4000 Then
Timer2.Enabled = True
Timer1.Enabled = False
End If
End Sub
1.
Практичне завдання.
Створити програму на зразок «Поїдач зірок».
Вона демонструє анімацію використовуючи
затримку.
Private Sub Command1_Click()
P.Cls
Randomize
Cls
Dim x(1 To 10000) As Integer
Dim y(1 To 10000) As Integer
P.Scale (0, 300)-(500, 0)
For i = 1 To 10000
x(i) = Fix(Rnd(1) * 500)
y(i) = Fix(Rnd(1) * 300)
P.PSet (x(i), y(i)), vbWhite
Next i
X2 = -30: x3 = -30: x4 = -20
P.FillStyle = 0
For X1 = 1 To 500
Y1 = 150 - 30 * (2 * Sin(X1 / 60) + 0.5 * Cos(2 * X1 /
30))
Y2 = 160 - 30 * (2 * Sin(X1 / 60) + 0.5 * Cos(2 * X1 /
30))
Y3 = 140 - 30 * (2 * Sin(X1 / 60) + 0.5 * Cos(2 * X1 /
30))
Y4 = 150 - 30 * (2 * Sin(X1 / 60) + 0.5 * Cos(2 * X1 /
30))
P.FillColor = vbGreen
P.Circle (X1, Y1), 2, vbGreen
P.Circle (X2, Y2), 3, vbGreen
P.Circle (x3, Y3), 3, vbGreen
P.Circle (x4, Y4), 3, vbGreen
For i = 1 To 10000
If Abs(X1 - x(i)) <= 20 And Abs(Y1 - y(i)) <= 20 Then
P.PSet (x(i), y(i))
End If
Next
P.FillColor = vbBlack
P.Circle (X1, Y1), 2
P.Circle (X2, Y2), 3
P.Circle (x3, Y3), 3
P.Circle (x4, Y4), 3
X2 = X2 + 1: x3 = x3 + 1: x4 = x4 + 1
Next X1
P.FillColor = vbGreen
P.Circle (X1, Y1), 2, vbGreen
P.Circle (X2, Y2), 3, vbGreen
P.Circle (x3, Y3), 3, vbGreen
P.Circle (x4, Y4), 3, vbGreen
End Sub
«Муха в графіні»
Dim x As Integer
Dim y As Integer, dx As Integer, dy As Integer
Dim n As Integer, i As Integer
Private Sub Command1_Click()
x = 2163: y = 1777
Picture1.Line (1300, 1600)-(4200, 4000), , BF
Picture1.Line (2200, 600)-(2600, 1600), , BF
Picture1.DrawWidth = 6
n=1
dx = 1: dy = 1
While n < 32000
If x = 50 Or x = 5900 Then dx = -dx
If y = 50 Or y = 4500 Then dy = -dy
If x = 2250 And y < 1650 And y > 550 Then dx = -dx
If y = 1650 And x > 1350 And x < 2250 Then dy = -dy
If x = 1350 And y < 3950 And y > 1650 Then dx = -dx
If y = 3950 And x > 1350 And x < 4150 Then dy = -dy
If x = 4150 And y < 3950 And y > 1650 Then dx = -dx
If y = 1650 And x > 2550 And x < 4150 Then dy = -dy
If x = 2550 And y < 1650 And y > 550 Then dx = -dx
Picture1.PSet (x, y), vbRed
For i = 1 To 5000: Next
Picture1.PSet (x, y), vbBlack
x = x + dx: y = y + dy
n=n+1
Wend
End Sub
Download