в этом уроке мы разберём как заставить нашего ГГ двигаться и стрелять
и так открываем ГМ если он у вас не открыт. Создаём три объекта с именами
o_player,
o_bull,
o_weapon!!! Для первых двух объектов создаём и рисуем спрайты...
Спрайт для объекта
o_player должен выглядеть как человек или робот с оружием повёрнутый в право лицом, а для объекта
o_bull должен выглядеть как пуля от пистолета....ну или что то в этом вроде...
Вот мы всё создали и нарисовали, что же дальше?? А дальше будем прописывать код для всего этого!!!
Сперва создадим переменные в объекте
o_player, в событии
Create Code
hp=100 //жизни ГГ
friction=1 //сила трения
strelba=1 //разрешение стрельбы
weapon=1 //определяет какое оружия у ГГ в руках
damage_wpn=random(50) // урон оружия
ammo_wpn=12 //кол-во патрон
speed_bull=30 //скорость пули
speed_wpn=5 //промежуток между выстрелами
Далее переходим в событие
Step и пишем там вот это
Code
//передвижение ГГ
if keyboard_check(ord("A")) //если нажата кнопка А
{
x-=3 //то сдвинуть ГГ в лево на 3 px
}
if keyboard_check(ord("D")) //аналогично с остольными))
{
x+=3
}
if keyboard_check(ord("W"))
{
y-=3
}
if keyboard_check(ord("S"))
{
y+=3
}
//поворот ГГ
direction=point_direction(x,y,mouse_x,mouse_y) //задаёт директорию с направлением в сторону миши
image_angle=direction //задаёт направление изображения такоеже как и директория
всё ГГ готов к бою, но его оружие и пули ещё нет...так давайте плеснём бензинчику в костёр))
открываем объект
o_weapon и заходим в событие
Create и прописываем там всего оду переменную
Code
fire_wpn=o_player.speed_wpn //тоже отвечает за скорость выстрела(они взаимосвязаны с speed_wpn)
дальше идём в
Step и пишем там это
Code
//производиться таймер выстрела
fire_wpn-=1
if fire_wpn<=0
{
fire_wpn=0
}
после чего создаём событие
Glob Left Button и пишем там вот эти строки кода
Code
if o_player.strelba=1 and o_player.ammo_wpn>0 and fire_wpn=0 //если разрешенно стрелять, есть патроны в обоиме и таимер выстрела равен 0
{
bull_wpn=instance_create(o_player.x,o_player.y,o_bull) //то создаём пулю
bull_wpn.speed=o_player.speed_bull //придаём ей скорость
bull_wpn.direction=o_player.direction //направляем в сторуну мыши
bull_wpn.image_angle=o_player.image_angle //поворачиваем спраит в сторону миши
fire_wpn=o_player.speed_wpn //заводим таймер
}
окей, осталось зарядить наши патроны порохом и можно идти в бои...т.е. чуть чуть оптимизировать нашу игру))
заходим в
o_bull и в
Step пишем
Code
//удаление пули
if x>room_width or y>room_height //если пуля дальше чем пределы комнаты
{
instance_destroy() //то удоляем её
}
всё наша основа готова....ждём следующих уроков)))