Переместить объект в позицию с анимацией перемещение - VB
Формулировка задачи:
На форме timer1 и command1, command2
После того как кликаешь мышкой по форме кнопка command1 двигается в эту точку. Помогите исправить код чтобы перемещалось не в точку куда кликнешь а к координатам другого объекта например при нажатии на command2 чтобы command1 переместилась в положение к command2
Или кто может реализовать этот код проще по моей задаче потому что какой то код мудреный не разберусь никак с координатами тут их еще конвертировать надо фиг поймешь как
Листинг программы
- Option Explicit
- Dim dx As Single, dy As Single, cnt As Long
- Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
- dx = X - Command1.Left
- dy = Y - Command1.Top
- cnt = Sqr(dx ^ 2 + dy ^ 2) / Width * 50
- If cnt = 0 Then Exit Sub
- dx = dx / cnt
- dy = dy / cnt
- Timer1.Interval = 20
- Timer1.Enabled = True
- End Sub
- Private Sub Timer1_Timer()
- If cnt Then
- cnt = cnt - 1
- With Command1
- .Left = .Left + dx
- .Top = .Top + dy
- End With
- Else
- Timer1.Enabled = False
- End If
- End Sub
Решение задачи: «Переместить объект в позицию с анимацией перемещение»
textual
Листинг программы
- Option Explicit
- Dim dx As Single, dy As Single, cnt As Long
- Private Sub Command2_Click()
- dx = Command2.Left - Command1.Left
- dy = Command2.Top - Command1.Top
- cnt = Sqr(dx ^ 2 + dy ^ 2) / Width * 50
- If cnt = 0 Then Exit Sub
- dx = dx / cnt
- dy = dy / cnt
- Timer1.Interval = 20
- Timer1.Enabled = True
- End Sub
- Private Sub Timer1_Timer()
- If cnt Then
- cnt = cnt - 1
- With Command1
- .Left = .Left + dx
- .Top = .Top + dy
- End With
- Else
- Timer1.Enabled = False
- End If
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д