Создание анимации "Летающий шар" на Visual Basic - VB
Формулировка задачи:
Народ, помогите, не могу понять, каким образом это осуществить.
На языке программирования V.B. написать прог-у "летающий мячик", которая организует движения мячика на форме. При достижении границы формы мячик должен "отскакивать" от нее по закону "угол падение=углу отражения" и случайным образом менять цвет. Предусмотреть возможность задания пользователем скорость мячика.
Решение задачи: «Создание анимации "Летающий шар" на Visual Basic»
textual
Листинг программы
- Option Explicit
- Dim WithEvents Tmr As Timer
- Const Speed As Long = 60, Radius As Long = 300
- Private Sub Form_Load()
- Me.FillStyle = vbSolid: Me.FillColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
- Set Tmr = Me.Controls.Add("VB.Timer", "Tmr")
- Tmr.Interval = 64: Tmr.Enabled = True
- End Sub
- Private Sub Tmr_Timer()
- Static X As Long, Y As Long, Dx As Long, Dy As Long
- If Dx = 0 Then
- X = Me.ScaleWidth / 2: Y = Me.ScaleHeight / 2
- Dx = Speed: Dy = Speed
- ElseIf X - Radius < 0 Then
- X = Radius: Dx = -Dx: Me.FillColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
- ElseIf Y - Radius < 0 Then
- Y = Radius: Dy = -Dy: Me.FillColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
- ElseIf X + Radius > Me.ScaleWidth Then
- X = Me.ScaleWidth - Radius: Dx = -Dx: Me.FillColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
- ElseIf Y + Radius > Me.ScaleHeight Then
- Y = Me.ScaleHeight - Radius: Dy = -Dy: Me.FillColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
- Else
- X = X + Dx: Y = Y + Dy
- End If
- Me.Cls: Me.Circle (X, Y), Radius
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д