Найти тему
Sharfik.dev

Создаём 2D игру на смартфон и публикуем её в магазине приложений: часть 2, первые шаги, как наши, так и персонажа.

Если вы не читали первую часть, то обязательно начните с неё.

Итак, мы установили Game Maker Studio 2 и создали новый проект.

Чтобы сразу оценить возможности этого игрового движка советую поиграть в некоторые игры сделанные на нём:

  • Hyper Light Drifter
  • Risk of Rain
-2
  • Hotline Miami
-3
  • И множество других более или менее популярных проектов, мои, сделанные исключительно на нём, можно найти в Google Play по имени разработчика Sharfik.dev

Итак, вернёмся к разработке:

Пока мы будем оперировать лишь с тремя типами ресурсов.
Пока мы будем оперировать лишь с тремя типами ресурсов.

Создадим спрайт, для этого нажмём правой кнопкой мыши на тип ресурса Sprites и в появившемся меню выберем Create Sprite.

Появилось окно редактора спрайта, нажмём отредактировать:

-5

Отредактируем спрайт и сохраним его просто закрыв окно:

-6

Мы вернёмся в рабочую область, сразу переименуем наш спрайт в s_hero.

Теперь создадим новый объект и дадим ему имя o_hero, и укажем спрайт созданный ранее:

-7

Разместим нашего героя в комнате:

-8

У нас уже запуститься игра, но в ней ничего не происходит:

-9

Заурываем игру, и открываем наш объект:

-10

В окне действия мы будем писать код, который игра будет выполнять построчно. Мы указали действие Step, т.е. Шаг, такое события выполняется в игре каждый кадр, т.е. 30 раз в секунду (по умолчанию). Значит код, который мы будем писать, будет выполнен 30 раз в секунду.

Теперь немного о логике, как мы будем двигать на экране наш квадрат:

Каждый кадр игра будет проверять нажата ли какая-то кнопка, если кнопка нажата, и это кнопка из тех которые нам нужны для движения, то мы будем двигать квадрат, вот так:

-11

for Step Event:

if keyboard_check(vk_right) {

x+=5;

}

где:

if- оператор условия языка GML

keyboard_check () - функция, вроде слушателя, проверяющего кнопки, которому в скобках мы должны указать, какую кнопку надо проверять.

vk_right- код кнопки со стрелкой вправо на клавиатуре.

Далее в фигурных скобках мы увеличиваем x-координату нашего героя, чтобы сместить его на 5 пикселей.

Запустим игру и видим что при нажатии стрелки вправо на клавиатуре герой убегает вправо за экран, реализуем движения в другие стороны:

-12

и код отдельно:

if keyboard_check(vk_right) {

x+=5;

}

if keyboard_check(vk_left) {

x-=5;

}

if keyboard_check(vk_down) {

y+=5;

}

if keyboard_check(vk_up) {

y-=5;

}

Попробуйте разобраться в этом коде самостоятельно, я лишь хочу обратить Ваше внимание на направление осей, если в математике мы привыкли направлять ось Y вверх, то тут она направлена вниз.

После того как добавили код, попробуем запустить игру, видим что герой теперь умеет двигаться во все стороны.

На этом я хочу закончить вторую часть. В третьей же части мы рассмотрим:

- как ограничить движение за пределы комнаты.

- научим стрелять нашего персонажа.

-рассмотрим чуть больше по части теории, узнаем немного больше о GML и о программировании.