Движение объектов - VB

Узнай цену своей работы

Формулировка задачи:

На сессию надо сдать программу, которая двигает Image1 по форме направо, вниз и налево. Так вот. У меня получился такой код.
Листинг программы
  1. Option Explicit
  2. Dim x As Double 'переменная отвечающая за движение направо
  3. Dim y As Double 'переменная отвечающая за движение вниз
  4. Dim z As Double 'переменная отвечающая за движение налево
  5. Private Sub Command1_Click()
  6. x = Image1.Left
  7. Do
  8. x = x + 0.1
  9. Image1.Left = x
  10. Loop While x <= 15000
  11. Image1.Left = 15000
  12. Image1.Height = 6000
  13. y = Image1.Top
  14. Do
  15. y = y + 0.01
  16. Image1.Top = y
  17. Loop While y <= 6000
  18. Image1.Top = 6000
  19. Image1.Height = 7000
  20. End Sub
  21. Private Sub Form_Load()
  22. Image1.Left = 0
  23. Image1.Top = 0
  24. End Sub
Дело в том, что я не могу двинуть объект влево, не получается. Остальные две переменные работают как надо.

Решение задачи: «Движение объектов»

textual
Листинг программы
  1. Option Explicit
  2. Dim dx As Double  'приращение координаты по x
  3. Dim dy As Double  'приращение координаты по y
  4. Dim mode As Long  'определяет направление
  5.  
  6. Private Sub Command1_Click()
  7. Form_Load
  8. mode = 0
  9. Timer1.Enabled = True
  10. End Sub
  11.  
  12. Private Sub Form_Load()
  13. Image1.Left = 0
  14. Image1.Top = 0
  15. dx = Screen.TwipsPerPixelX * 2 'шаг = 2 пикселя
  16. dy = Screen.TwipsPerPixelY * 2
  17. Timer1.Interval = 20
  18. Timer1.Enabled = False
  19. End Sub
  20.  
  21. Private Sub Timer1_Timer()
  22. With Image1
  23.   Select Case mode
  24.   Case 0 'движение вниз
  25.    .Left = .Left + dx
  26.     If .Left >= Me.Width - .Width - 120 Then mode = 1
  27.   Case 1 'движение вниз
  28.    .Top = .Top + dy
  29.     If .Top >= Me.Height - .Height - 500 Then mode = 2
  30.   Case 2 'движение влево
  31.    .Left = .Left - dx
  32.     If .Left <= 0 Then Timer1.Enabled = False
  33.   End Select
  34. End With
  35. End Sub

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


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

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

5   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы