Вторник, 19 Марта 2024, 05:22

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

Меню сайта
Категории каталога
Создание игр [354]
Статьи об общих понятиях связанных с созданием игр.
Программирование [82]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [144]
Статьи о программах для создания игр, уроки и описания.
Софт [39]
Различные программы, в том числе в помощь игроделам.
2D-графика [14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [16]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [160]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [128]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Как часто вы играете?
Всего ответов: 1062
Главная » Статьи » Создание игр

Создание 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)
Просмотров: 6364 | Комментарии: 5 | Рейтинг: 3.3/7 |
Теги: Создание игр, уроки по 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 случ. движков
  • EDGE
  • cocos3d
  • SecondBASIC
  • LÖVR
  • RiBox3D
  • PlayCanvas
  • Jake2
  • Nebula
  • Moai
  • Voxatron
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг