Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЕРЕЧЕНЬ ЛАБОРАТОРНЫХ РАБОТ.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

3. Проект prjJumps. Описание задачи. Подготовительные работы

Сейчас мы будем делать проект, в котором на форме по диагонали из нижнего правого угла в левый верхний угол будет прыжками передвигаться котенок. Как только он добирается в несколько прыжков до левого верхнего угла формы, его прыжки начинаются снова с начальной точки в прежнем направлении.

Для проекта сделаем два рисунка – две фазы движения котенка: один – когда все лапки котенка находятся на земле, а другой – когда две передние лапки подняты относительно двух задних в прыжке. Сделаем эти два рисунка в графическом редакторе и запишем на диск два файла.

Пусть первый файл будет называться Cat1.bmp, а второй – Cat2.bmp.

На форме у нас будет один элемент image. Мы, поочередно вызывая в него с помощью методаLoadPicture то одну, то другую картинку и передвигая этот элемент по форме (метод Move), будем имитировать прыжки котенка. Все это будет происходить по событиям таймера.

3.1 Графический интерфейс пользователя проекта prjJumps

Опишем поочередно все элементы управления, которые будут участвовать у нас в проекте, и зададим некоторые их свойства.

Форме дадим имя (свойство name) frmJumps. Свойству Caption присвоим значение: “Прыжки котенка”. Зададим свойства формы Height =3600 и width = 4800.

Поместим на форму таймер, назовем его tmrTimer. Свойства Enabled –False, а Interval – 250миллисекунд.

Элемент image назовем imgPic. Свойству Stretch присвоим значение True, Left зададим 2160, Top 3600 , то есть он будет размещаться в правом нижнем углу формы. C помощью свойства Picture поместим в элемент imgPic картинку Cat1.bmp.

Еще поместим на форму две командные кнопки для начала и завершения движения. Первую назовемcmdJump, свойство Caption у нее зададим как “Прыгай”. Вторую назовем cmdExit. СвойствeCaption присвоим значение “Хватит”.

В результате форма будет выглядеть приблизительно следующим образом:

3.2 Код проекта prjJumps

Командная кнопка cmdExit существует у нас для выхода из проекта, поэтому несложно дописать код:

Private Sub cmdExit_Click( )

End Sub

Командная кнопка cmdJumps существует у нас для начала движения, поэтому, как и в предыдущем проекте в соответствующем коде запускается таймер. Дополните код:

Private Sub cmdJump_Click( )

End Sub

Все основное “действие” - анимация движения котенка в нашем проекте будет представлено в коде таймера. В начале этого кода объявим переменную, в зависимости от значения которой будем передвигать элемент imgPic и вызывать в него поочередно первую или вторую картинку. Назовем ее JumPic и объявим как статическую:

Static JumPic As Integer

Далее, если значение переменной равно 0, т.е. начальное, то будем на том же самом месте менять картинку:

If JumPic = 0 Then

ImgPic.Move 3600, 2160

ImgPic.Picture = LoadPicture (“Cat2.bmp”)

End if

Если значение переменной равно 1, котенок должен совершить свой первый прыжок и фаза движения его сменится:

If JumPic = 1 Then

ImgPic.Move 2870, 1630

ImgPic.Picture = LoadPicture (“Cat1.bmp”)

End if

Если значение переменной равно 2, то котенок должен совершить второй прыжок со сменой фазы движения:

If JumPic = 2 Then

ImgPic.Move 2150, 1630

ImgPic.Picture = LoadPicture (“Cat2.bmp”)

End if

Если значение переменной равно 3, то котенок совершает третий прыжок:

If JumPic = 3 Then

ImgPic.Move 1330, 770

ImgPic.Picture = LoadPicture (“Cat1.bmp”)

End if

Для четвертого прыжка фрагмент кода следующий:

If JumPic = 4 Then

ImgPic.Move 610, 430

ImgPic.Picture = LoadPicture (“Cat2.bmp”)

End if

Для пятого:

If JumPic = 5 Then

ImgPic.Move 0, 0

ImgPic.Picture = LoadPicture (“Cat1.bmp”)

End if

И для непрерывности процесса увеличиваем значение переменной на единицу:

JumPic = JumPic + 1

Больше котенку прыгать некуда, поэтому снова присваиваем переменной значение 0:

If JumPic = 6 Then

JumPic = 0

End if

Все это, как уже говорилось, мы помещаем в код таймера события Timer.

Составь окончательный код для таймера:

Private Sub tmrTimer_Timer( )

End Sub

Выполните проект на компьютере. Подумайте, как можно упростить код.