Добавление объектов, событий и действий. Скрипты.
Цель – Научиться добавлять объекты,
события и действия в программе Game Maker 8.
Продолжительность
лабораторной работы: 2 академических часа.
План урока:
- научиться добавлять
объекты;
- научиться добавлять события;
- научиться добавлять
действия.
Аппаратно-программное обеспечение:
- компьютер на базе
процессора не ниже 1 ГигаГерц;
- операционная система
Windows 95/98/2000/XP/Vista/Seven;
- программа Game Maker 8.
I. Откройте файл с прошлого
занятия «Platform_0».
Добавим первый объект в наш проект. Для этого выберите «Добавить ресурс»> «Добавить объект».
Перед Вами появится окно свойств, как на рисунке 7.
Рисунок
7 – «Окно свойств объекта».
Укажите имя объекта – «obj_block». Этот объект будет играть
роль препятствий в нашей игре. Выберите спрайт для объекта, кликнув в строке
«Спрайт» (Sprite). Появится выпадающий список, в нём выберите «spr_black».
Поставьте галочку на пункте «Твердый».
Сохраните объект, нажав кнопку «ОК».
II. Добавим объект игрока в нашу
игру. Для этого выберите «Добавить ресурс»> «Добавить объект».
Укажите имя объекта – «obj_player».
III. Добавим события и действия
для объекта игрока.
Создание
Добавьте событие «Создание». Для этого нажмите
«Добавить событие»> «Создание».
Откройте вкладку «Control» в списке действий. Найдите
там значок «Execute Code»
. Зажмите на нем левую кнопку мышки и, не
отпуская её, перетащите элемент в Действия (см. Рисунок 8).
Рисунок 8 – «Код в списке
действий».
Дважды щелкните по элементу
кода в списке действий, чтобы перейти в редактор кода (см. Рисунок 9).
Рисунок 9 – «Редактор кода».
В редакторе кода вставьте
строку:
gravity_direction=270 //направление гравитации
180
|
270
|
Соответственно, мы указали направление гравитации вниз.
Нажмите галочку для
сохранения кода.
Столкновение
Создайте событие столкновения с блоком. Для этого
нажмите «Добавить событие»> «Столкновение». В выпадающем меню выберите «obj_block».
Добавьте в Действия значок кода.
Перейдите в Редактор кода и добавьте туда строки:
{
move_contact_solid(270,12); //двигаться до
столкновения с твердым объектом
//в направлении
270 и максимальной дистанцией 12
vspeed = 0; //вертикальную
скорость установить в 0
}
Сохраните код.
Шаг
Добавьте событие шага. Для этого нажмите «Добавить событие»>
«Шаг». В выпадающем меню выберите «Шаг».
Добавьте в Действия значок кода.
Перейдите в Редактор кода и добавьте туда строки:
{
//движение на клавишу Left
if keyboard_check(vk_left)
if !position_meeting(x-4,y,obj_block) //если нет столкновения
с блоком слева
x -= 4; //сдвинуть игрока влево на 4
//движение на клавишу Right
if keyboard_check(vk_right)
if !position_meeting(x+4,y,obj_block)//если нет столкновения
с блоком справа
x += 4; //сдвинуть игрока вправо на 4
//Прыжок
if keyboard_check_pressed(vk_up)
//если была нажата клавиша вверх
if !position_meeting(x,y-12,obj_block) //если нет препятствий сверху
if !place_free(x,y+1) //если под игроком есть твердый объект
{
y -= 4; //поднять игрока на 4 вверх
vspeed -= 12; //вертикальная скорость -12, т.е. снизу-вверх
}
//гравитация
if place_free(x,y+1) //если под игроком нет
твердых объектов
gravity=0.5 //то гравитация = 0.5
за шаг
else
gravity=0; //иначе гравитация =
0
//ограничения на
вертикальную скорость
if vspeed>12
vspeed = 12;
}
Сохраните код и сохраните изменения в объекте.
IV. Расположим наши объекты в
комнате. Откройте Редактор комнаты «room0», кликнув дважды на
названии комнаты в списке ресурсов.
В открывшемся редакторе выберите объект «obj_block» для
добавления на вкладке «Объекты» (Objects).
Расставьте блоки на уровне так, как показано на
рисунке 10.
Примечание: для удобства включите сетку в панели элементов Редактора
комнат. Удерживайте клавишу <Shift> для размещения/удаления нескольких объектов. Удерживайте клавишу <Ctrl> для перемещения объекта. Нажмите правую кнопку мышки для
удаления.
Выберите объект игрока и поставьте его где-нибудь на
уровне.
Сохраните проект под именем «Platform_1».
Запустите проект через «Выполнить»> «Обычный
запуск» или нажав <F5>.
Рисунок 10 – «Уровень игры».
Задание:
1.
Разместите больше одного объекта игрока. Что произойдёт и почему?
2.
Увеличьте ширину уровня до 1000.
3. Добавьте блоки других
цветов. Код не размножайте – установите родителя «obj_block» в новых блоках.
4. Смените управление
игроком из Шага на события нажатия клавиш.
Вопросы для самопроверки:
1. Зачем нужно ограничивать вертикальную
скорость у игрока?
2. Что
будет, если установить направление гравитации 0?
Комментарии
Отправить комментарий