Создание анимации "Летающий шар" на 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы