Четверг, 14 декабря 2017, 22:00

Приветствую Вас Гость

Меню сайта
Категории каталога
Создание игр [307]
Статьи об общих понятиях связанных с созданием игр.
Программирование [69]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [123]
Статьи о программах для создания игр, уроки и описания.
Софт [27]
Различные программы, в том числе в помощь игроделам.
2D-графика [11]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [10]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [4]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [70]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [58]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Вам хотелось бы стать модератором GcUp.ru?
Всего ответов: 1906
Главная » Статьи » Создание игр

Создание Flappy Bird на Game Maker: Studio
Здравствуйте! В этой статье я вам подробно расскажу как создать игру Flappy Bird на Game Maker: Studio, при этом с такими же спрайтами и звуками, с качественной анимацией.

Для начала скачайте архив с ресурсами. Теперь откройте Game Maker: Studio и загрузите все ресурсы в игру:



Теперь поработаем с основной частью игры - геймплеем. Хотя по сути это единственный этап где от вас понадобится терпение и труд. Создаем объект. Назовем его player. Спрайт ему дадим хотя бы синей птицы. Создаем событие Create и записываем код (к чему вы уже должны привыкнуть):

Код
instance_create(0,0,o_st);
instance_create(0,0,control);
image_speed=0.8;
alarm[0]=room_speed*3;
loh=0;
zz=0;
sh=0;
ini=0;
score=0;
switch choose(1,2,3)
{
case 1:sprite_index=spr_b1;break;
case 2:sprite_index=spr_b2;break;
case 3:sprite_index=spr_b3;break;
}
sound_play(s_wing);
vspeed=-10;
image_angle=30;
image_index=1;


Что он означает и какова его роль? Попробуйте разобраться с этим сами. Разобрались? Теперь сравните ваши догадки с правильным ответом: этот код предназначен для того чтобы у птица была физика и гравитация, появления рандомного спрайта птицы и проигрывания звука. Теперь переходим к событию Alarm 0, вписываем туда код:

Код
if loh=0
{
instance_create(280,random_range(-300,-80),o_block);
alarm[0]=room_speed*1.8;
}


Он нужен для того, чтобы птица пролетала через блоки (которые мы создадим позже). Теперь своей очереди ждет событие Step, туда тоже записываем код:

Код
if loh=0
{vspeed+=1;}

if (zz=0 && vspeed>0)
{image_angle-=5;}

if image_angle<-91
{image_angle=-90;}

if y>320
{y=320;}

if y<0
{y=0;}


Он нужен для основных движений птички. Теперь создаем событие Glob Left Presed, записываем код:

Код
if loh=0
{
sound_play(s_wing);
vspeed=-10;
image_angle=30;
image_index=1;
}


Он нужен для проигрывания звука и подлета птицы при нажатии ЛКМ. Теперь создаем событие press any key, вписываем код:

Код
if hol=0
{
sound_play(s_wing);
vspeed=-10;
image_angle=30;
image_index=1;
}


Он выполняет тоже самое, но при нажатии любой из кнопок.

Создаем объект o_block, даем спрайт препятствий столбов. Делаем событие Create, туда вписываем код:

Код
hspeed=-4;
instance_create(x+16,y+340,o_point);


Поясню значение кода: в игре Flappy Bird есть секрет, который заключается в том, что движется не птичка, а столбы. Так вот, этот код нужен для движения столбов. Сверху например указана горизонтальная скорость. Вот и готов объект столбов:



Теперь создаем объект o_earth, присваиваем спрайт земли. Создаем событие Create, вписываем код:

Код
hspeed=-4;[/code[


Он задает скорость земле. Теперь создаем событие Outside Room (Вне границ комнаты) и вставляем функцию Wrap Screen, выбираем значение horizontal. Вот так должен выглядеть объект o_earth:



Возвращаемся к объекту player, добавляем событие Столкновение с o_block. Здесь нам надо поработать. Вставляем функцию Test Variable, вводим следующие значения:

variable: sh
value: 0
operation: equal to

Теперь вставляем Start of a block и End of a block. Между ними ставим событие Create Effect, пишем туда то же самое, что и на скриншоте:

[c][/c]

После впишем код:

[code]hol=1;
if sh=0
{
sound_play(s_die);
instance_create(0,0,o_st);
sh=1
}[/code]

Он обеспечивает проигрывание звуков при столкновении со столбами. sh - переменная! Теперь делаем функцию Move Fixed и задаем такие значения как на скриншоте:



Ну и теперь создаем событие столкновения с землей. Вписываем такой код:

Код
hol=2;
image_speed=0;
image_index=0;
zz=1;
ff=o_earth;
gg=o_block;
ff.hspeed=0;
gg.hspeed=0;


Это если птичка упадет. Теперь событие Move Fixed. Здесь просто нажмите на квадратик в центре и сохраните. Все, объект player закончен. Остался только объект o_point. Создаем в нем событие Create, вписываем код:

Код
hspeed=-4;


Так мы задали скорость. Теперь создаем столкновение с объектом player. Также вписываем код:

Код
sound_play(s_point);
score+=1;
instance_destroy();


Это если птичка успешно пройдет между столбами. Работа с геймплеем окончена. Теперь создаем комнату, оптимальный размер будет 288 на 360. Расставляем объект игрока и земли, ставим наш фон. Также нам нужно правильно настроить виды:



Все, можем запускать игру и наслаждаться своим трудом и терпением. Удачи вам!
Категория: Создание игр | Добавил: MasterSambo (16 мая 2015)
Просмотров: 2323 | Комментарии: 5 | Рейтинг: 2.6/5 |
Теги: Создание игр, уроки по GMS, как сделать flappy bird, Создание flappy bird, уроки, уроки по game maker studio, GML, GMS, Уроки по созданию игр
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «Создание Flappy Bird на Game Maker: Studio», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

Всего комментариев: 5
+0-
4 atoris   (21 мая 2015 22:31)
loh, zz, ini, sh, ff, gg крутые, а главное понятные название переменных))

+2-
1 LunarPixel   (17 мая 2015 09:47)
LunarPixelА что насчет этого game-maker.net/index.php?c=l&t=lesson_0021 урока скажешь?

+-2-
2 MasterSambo   (18 мая 2015 11:12)
MasterSamboЧто насчет этого:

+0-
3 LunarPixel   (18 мая 2015 11:19)
LunarPixelДа хоть 200. Ты уверяешь, что написал урок исходя из собственных познаний, а все совпадения - случайность?
Так же, как и остальные уроки, сделанные на основе чужих примеров и поданные с видом великого учителя.

+0-
5 WhoAmI   (22 мая 2015 14:27)
WhoAmIЛол, конечно он будет так оценивать статью, ведь там есть код, а в коде знаки препинания не ставятся(и слова уж точно будет определять как не верные).

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • Mobile BASIC
  • PopCap Games Framework
  • Ray Game Designer
  • GameLooper
  • WindMill
  • J.U.R.P.E.
  • GZDoom
  • Glint 3d
  • Brutus2D
  • Game Hammer 2
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    GameDev, Уроки OpenGL, Программирование, Создать Minecraft
    Все права сохранены. GcUp.ru © 2008-2017 Рейтинг