Приложение имитировать движение КАК? - VB
Формулировка задачи:
Как??? по Visual BasicПриложение должно имитировать движение шарика "со шлейфом" внутри объекта класса PictureBox . Шарик движется за счёт изменения его координат и отражается от сторон PictureBox под углом 45°. Приложение должно иметь режим когда внутри объекта Picture1 появлялся бы прямоугольник представляющий собой дополнительное препятствие для движущегося шарика
Решение задачи: «Приложение имитировать движение КАК?»
textual
Листинг программы
- Option Explicit
- Private Const SIZE = 15
- Private Const ITER = 100
- Dim WithEvents tmr As Timer
- Dim loX As Long, loY As Long
- Dim lX As Long, lY As Long, lDx As Long, lDy As Long
- Private Sub Form_Load()
- ScaleMode = vbPixels: DrawWidth = SIZE: BackColor = 0
- Set tmr = Controls.Add("VB.Timer", "tmr"): tmr.Interval = 32
- lX = 180: lY = 100: lDx = 1: lDy = 1: loX = 50: loY = 50
- Width = (Width - ScaleWidth * Screen.TwipsPerPixelX) + 200 * Screen.TwipsPerPixelX
- Height = (Height - ScaleHeight * Screen.TwipsPerPixelY) + 200 * Screen.TwipsPerPixelY
- End Sub
- Private Sub DrawBall(ByVal lX As Long, ByVal lY As Long, _
- ByRef lDx As Long, ByRef lDy As Long, _
- ByVal lIter As Long)
- If lX = ScaleWidth - SIZE Or lX = SIZE Or _
- (lX = loX - SIZE And lY > loY - SIZE And lY < loY + 100 + SIZE) Or _
- (lX = loX + 100 + SIZE And lY > loY - SIZE And lY < loY + 100 + SIZE) Then _
- lIter = -(lIter <> ITER) * lIter: lDx = -lDx _
- Else: If lY = ScaleHeight - SIZE Or lY = SIZE Or _
- (lY = loY - SIZE And lX > loX - SIZE And lX < loX + 100 + SIZE) Or _
- (lY = loY + 100 + SIZE And lX > loX - SIZE And lX < loX + 100 + SIZE) Then _
- lIter = -(lIter <> ITER) * lIter: lDy = -lDy _
- Else: PSet (lX, lY), lIter * 2
- If lIter Then DrawBall lX - lDx, lY - lDy, (lDx), (lDy), lIter - 1
- End Sub
- Private Sub tmr_Timer()
- DrawBall lX, lY, lDx, lDy, ITER
- lX = lX + lDx: lY = lY + lDy
- Line (loX, loY)-Step(100, 100), vbGreen, BF
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д