Программирование на Visual Basic

Картинка движется туда, куда вы нажали мышкой

Вот это название для статьи =) ! Но короче я не как не мог придумать, что бы было понятно про что статья ! Сегодня я расскажу, как я делал первый раз событие Mouse_Down. Это событие происходит при нажатии мышкой на объект или форму. Я понимаю, что при этом картинка мерцает, но пока хватит и этого. Обещаю потом написать пример без мерцания (с DirectX). И не пропускайте следующий урок, будем делать радар. Ну, а пока начнем:

  1. Создаем форму с именем Form1.
  2. Таймер с именем tmrMove и его интервалу присваиваем значение 100, Значение Enabled равно False.
  3. Создаем Image с именем Unit1.

Приступаем к коду:

" регистрируем переменные для присваивания им координат нажатия мыши
Dim xPos As Integer
Dim
yPos As Integer
Private Sub
tmrMove_Timer
()
"
если координаты нажатия мыши не равны координатам картинки, то...
If xPos <> Unit1.Left Or yPos <> Unit1.Top Then
"
я надеюсь в дальнейшем вы разберетесь, не охота для каждой строчки писать комментарий
 If Unit1.Left < xPos + 100 Then
 Unit1.Left = Unit1.Left + 100
 End If
 If
Unit1.Left > xPos + 100 Then
 Unit1.Left = Unit1.Left - 100
 End If
 If Unit1.Top < yPos - 100 Then
 Unit1.Top = Unit1.Top + 100
 End If
 If
Unit1.Top > yPos - 100 Then
 Unit1.Top = Unit1.Top - 100
 End If
"
если координаты нажатия мыши и координаты рисунка равны, то выключаем таймер
Else: tmrMove.Enabled = False
End If
End Sub

Private Sub
Form_MouseDown (
Button As Integer, Shift As Integer, X As Single, Y As Single)
"
присваиваем переменной xPos координату нажатия мыши по оси ОХ (left)
xPos = X
"
присваиваем переменной yPos координату нажатия мэши по оси OY (top)
yPos = Y
tmrMove.Enabled =
True
End Sub


Как видите это делается несложно, только не очень красиво. Готовый пример я выкладывать не
стал, т.к. в следующем уроке мы будем делать радар, то я совмещу этот и следующий урок в
один готовый пример и получится почти =) СтарКрафт!

Hosted by uCoz