Воскресенье, 22.12.2024, 17:39
Главная Регистрация RSS
Приветствую Вас, Гость
Поиск по сайту
Авторизация

Меню сайта
Game Maker
Если вы только-только начали изучать игрострой и еще даже не успели скачать сам Game Maker, предлагаем вам на выбор следующие версии программы:

Game Maker 8.1
Классика. Идеально подходит для создания простых 2D игр на PC. Требует активации.
Game Maker for Mac
Абсолютно та же программа, но только для пользователей Mac. Требует активации.
Game Maker Studio
Самая новая версия с возможностью кроссплатформенной разработки. Бесплатна.
Топ 5 игр
Агент Green 4.2 / 5.0
FeDo 4.2 / 5.0
To Mars: Sec... 4.2 / 5.0
To Mars+MapE... 3.9 / 5.0
Paintball 3.8 / 5.0

Топ игр составлен путем пользовательского голосования.

Если вы не согласны с какой-либо оценкой, примите участие и поставьте свой балл игре. Ваша оценка очень важна для нас ;)
Статистика



На сайте: 3
Гостей: 3
Пользователей: 0
Главная » Статьи » Разработка игр

Делаем игру-головоломку


Я больше чем уверен, что вы когда то играли в игру Angry Birds. Припоминаете эту игру? Нет? Забыли? А это ведь один из хитов 2009 года! Логическая игра Angry Birds увлекла более миллиона человек. Сегодня, как вы уже  догадались, мы попробуем сделать нечто похожее. 

И так, сохраняю традицию прошлого урока, перечисляя нужные нам спрайты:
  • bird - Злая птица, которой мы будем швыряться
  • block - Стена
  • enemy_spr - Враг
Размеры для этих спрайтов подбирайте на свой вкус, но я все же рекомендую выбирать именно 32x32. Пока обратите внимание на спрайт bird. Вам следует в меню редактирования спрайта щелкнуть по кнопке "По центру" иначе птичка будет очень криво летать.



Переходим к созданию объекта obj_bird, которому по логике вещей следует присвоить спрайт bird. Создаем событие Create для этого объекта. В этом событие напишите простой скрипт:

pusk:=false

Этот скрипт создает переменную pusk, которая в будущем будет разрешать или запрещать запуск птички. 

Далее создаем событие Step и там пишем более сложный скрипт:

if pusk=false then
begin
direction:=point_direction(x,y,mouse_x,mouse_y);
image_angle:=direction;
end;

if not hspeed<0.1 then
hspeed:=hspeed-0.1

Этот скрипт обращаясь к переменной pusk распознает, была ли птичка запущена. Если птичка до сих пор не полетела, то этот код разрешает игроку менять направление полета в сторону мыши(3-я строка). Так же этот скрипт помаленьку уменьшает горизонтальную скорость птички, так, что бы эта скорость не стала отрицательной(нам это не нужно).

Создаем пока что последнее событие для obj_bird - Glob Left Pressed. И в этом событие прорабатываем "пусковой механизм" птички при помощи следующего скрипта:

if pusk=false then
begin
speed:=26;
pusk:=true;
gravity:=1;
end;



Этот скрипт во первых проверяет - не запущена ли уже птичка. Если птичка не запущена, то этот скрипт создает мощный рывок и возводит стартовую скорость птички до 26. Так же этот скрипт включает гравитацию для нашей птицы, и что бы игроку не повадно было ускорить птицу до небывалых скоростей - присваивает переменной pusk значение true. Птица больше не полетит.

Пусковой механизм заработал, но мы упустили стены и конечно врагов. Начнем со стен, а вернее с общим объектом стены и врага. В общем создайте объект solid. В окне редактора объекта поставьте галочку над "Твердый". 


Далее переходим снова к объекту obj_bird. Создайте событие Столкновение с solid и добавьте действие Bounce() из вкладки Move. И только после действия Bounce вставляем скрипт:

speed:=speed-5;
if speed<0 then
speed:=0;

Этот скрипт резко уменьшает скорость птицы, но при этом контролирует что бы эта скорость не была ниже 0, иначе, возможно что, птица будет летать вечно.

Теперь приступим к непосредственно созданию стен. Создайте объект wall и присвойте ему спрайт block. Так же присвойте этому объекту "родителя" - soild.


Теперь вы можете вставить все объекты в комнату и проверить правильно ли работает игра. Обратите внимание на то, что птичка должна пружинить от стен, а не врезаться в них.


Все работает правильно? Тогда приступаем к созданию врага. Создайте объект enemy и присвойте ему спрайт enemy_spr, так же поставьте ему "родителя" soild. Теперь займемся оживлением этого бота.

Создайте событие Create и там напишите скрипт:

health:=100;
gravity:=1;


Этот скрипт будет худо-бедно имитировать гравитацию бота, а так же его жизни. А теперь на случай если жизней ноль - создайте событие Step и напишите скрипт удаляющий бота:

if health=0 then
instance_destroy()

Ну и как бота можно убить? Конечно же нашей бешеной птичкой! Поэтому создаем событие Столкновение с obj_bird и напишите там следующий скрипт:

health:=health-10;

В общем бот готов, но если вы хотите что бы он не провалился сквозь землю(в прямом смысле) - создайте событие Столкновение с soild и перенесите туда как и в прошлый раз Bounce(). Ну и не забываем, что этого врага нужно как-то остановить. Поэтому добавляем последний скрипт:

vspeed:=0;

Фух... Игра готова! Снова расставим наши объекты в нужном порядке и наслаждаемся! Всем пока!

Категория: Разработка игр | Добавил: qwerto (22.02.2012)
Просмотров: 4438 | Комментарии: 12 | Рейтинг: 3.9/7
Всего комментариев: 12
12 Славян   (27.06.2013 16:55) [Материал]
Славян И снова стрельба не как в оригинале!

11 Agent   (09.06.2013 12:48) [Материал]
Agent Намного понятней чем в статье Аркаши!

10 Atekinera   (26.02.2013 13:38) [Материал]
Atekinera А как добавить несколько птичек, чтобы они вылетали последовательно из одной точки?

9 Владимир Рябинин   (24.02.2013 16:47) [Материал]
Как сделать так чтобы как в настоящих злых птичках если нажимаешь сзади то птичка летит вперёд и наоборот

7 MasterSambo   (26.12.2012 10:12) [Материал]
MasterSambo Вопрос! Почему исчезают все враги сразу?

8 Gracio001   (22.01.2013 12:47) [Материал]
Gracio001 добавь врагу столкновение с птицей и добавь уничтожение, только 1 будет исчезать

4 Lucheus   (26.05.2012 04:19) [Материал]
http://ae-mods.ru/load/mob/others/sprajty_iz_angry_birds_space/12-1-0-1820
Спрайты Angry Birds (Space)

3 alinar22   (17.04.2012 20:44) [Материал]
alinar22 так не прикольно только один уровень прога в которой можно много сделать это multimedia fusion 2

5 миха   (15.07.2012 13:01) [Материал]
миха Смотри уроки! smile Много уровней можно сделать!!! cool

6 sonic8288   (23.07.2012 18:12) [Материал]
sonic8288 Он вобще-то пример показал можно и другие уровни сделать!!!

2 Anonim   (16.04.2012 14:33) [Материал]
Bress ты не мог бы скинуть спрайты игры Andry BIRDS

1 nikolaysinuk   (26.03.2012 22:40) [Материал]
чувак напиши как сделать пошаговую стратегию паже

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]