Главная » Статьи » Game maker | [ Добавить статью ] |
Как сделать 2D шутер в Game Maker
Доброго времени суток! Перед тем как приступить непосредственно к созданию 2D шутера мне хотелось бы немного размыть эту статью вводной частью. Итак, сейчас Вы читаете мою первую статью на этом сайте. Честно сказать я не профи в разработке игр и работаю пока преимущественно с Game Maker, дабы набить руку перед серьезными проектами. Так вот, в этой статье, а вернее сказать в этом уроке я попробую снабдить Вас некоторыми своими знаниями в области геймдева. Конкретно, я расскажу о том, как сделать наипростейший 2D шутер в стиле Контры. Ладно. Приступим к созданию игры. Для начала нам нужно запастись спрайтами: player_go_right и player_go_left – спрайты движения игрока влево и вправо (анимация). gun_right – спрайт ружья, направленного вправо. Для этого спрайта установите центр вращения на рукояти, как показано на скриншоте. bullet_spr – спрайт пули. Никаких особых критериев. wall_sprite – спрайт стены. Желательно размера 32x32. Когда спрайты готовы, самое время создать необходимые объекты и естественно настроить их. Начнем с самого простого – стены. Создайте объект wall_obj и присвойте ему спрайт wall_sprite. Также для этого объекта установите свойство Твердость(Solid). Далее переходим к пулям. Создайте объет bullet_obj и присвойте ему bullet_spr. Чтобы в будущем пуля вела себя более естественно в событии Столкновнение с wall_obj добавьте действие Destroy Instance (). По желанию можете увеличить глубину пули. Все второстепенные объекты готовы. Приступаем к самому сложному. Создайте объект игрока player_obj и присвойте ему спрайт player_go_right или player_go_left. Для player_obj в событии Create введите скрипт(): Code image_speed=0 right=true gravity=1 Этот скрипт запускает гравитацию для игрока и уменьшает скорость спрайта до 0. Так же этим кодом мы вводим новую переменную right, с помощью который мы в дальнейшем будем определять направление игрока. Перейдем к управлению. В событии Step напишите следующий код(): Code //Движение вправо if keyboard_check(vk_right) then hspeed=5 //Движение влево if keyboard_check(vk_left) then hspeed=-5 //Под ногами не пусто? Нажата ли кнопка вверх? if (not place_free(x,y+3)) and (keyboard_check(vk_up)) then vspeed=-15 //Прыжок //Если ничего не нажато if keyboard_check(vk_nokey) then begin hspeed=0 image_index=0 image_speed=0 end; Этот скрипт позволит игроку ходить влево, вправо и даже прыгать. Итак, гравитация есть, управление есть, а опоры нет. Чтобы опора появилась добавьте событие Столкновение с wall_obj и введите в это событие: Code vspeed=0 Ну вот, практически все готово. Игрок уже может смело прыгать по платформе. Но к сожалению анимации движения не будет. Для того чтобы это исправить в событие press <Left> введите скрипт: Code sprite_index=player_go_left //Смена спрайта image_speed=0.2 //Скорость спрайта right=false //Игрок не повернут направо И в событие press <Right> введите аналогичный скрипт: Code sprite_index=player_go_right image_speed=0.2 right=true//Игрок повернут направо Осталось только научить игрока стрелять. Для начала в этих целях мы дадим ему оружие. В этих целях введите в событие Draw следующий скрипт: Code //Определение направления оружия rotate=point_direction(x,y,mouse_x,mouse_y); //Игрок повернут направо? if right=true then gun_x=x+15 //Смена положения ружья по X else gun_x=x+1 gun_y=y+15//Смена положения ружья по Y draw_sprite(sprite_index,image_index,x,y) //Прорисовка игрока draw_sprite_ext(gun_right,0,gun_x,gun_y,image_xscale,image_yscale,rotate,image_blend,image_alpha) //Прорисовка ружья Хочу обратить Ваше внимание на то, что gun_x и gun_y возможно придется подгонять вручную, если при запуске игры оружие будет висеть не в руках у игрока. Если же все работает замечательно, давайте продолжать. Добавьте событие Glob Left Pressed и в него перенесите действие Create Moving () с следующими значениями: object = bullet_obj; x= gun_x y = gun_y speed= 10 direction= rotate Ну вот и все! Смело расставляйте объекты в комнате и наслаждайтесь своей игрой. Кстати, не забудьте оставить комментарий. Категория: Создание игр | Добавил: ress (29.03.2012) | |
Просмотров: 6672 | Комментарии: 1 | | |
Всего комментариев: 1 | |
у меня вопрос: А врагов добавить самому?(я не люблю шутёры я просто так спросил)
| |