GameMaker Studio: Передвижение и камера (Урок 3)

Улучшим механику передвижения игрока и настроим работу камеры. Для передвижения игрока используем событие Step. Оно срабатывается каждый кадр (при 30 FPS — 30 раз в секунду).

Перемещение игрока

Вместо событий KeyDown, которые срабатывают даже на паузе, будем использовать Step. Удаляем все обработчики KeyDown. Добавляем событие Step и пишем следующий код:

// комментарии
// для пояснения кода
x += 4; // перемещение игрока на 4 единицы вправо

Этот код перемещает игрока вправо на 4 единицы в каждом кадре. Для управления движением добавим условный оператор if:

if (keyboard_check(vk_right)) {
    x += 4;
}

Теперь игрок будет двигаться вправо только при нажатии на правую стрелку. Аналогично добавим проверку для других направлений:

if (keyboard_check(vk_left)) {
    x -= 4;
}
if (keyboard_check(vk_up)) {
    y -= 4;
}
if (keyboard_check(vk_down)) {
    y += 4;
}

Для управления с помощью клавиш WASD добавим дополнительную проверку с помощью оператора || («или»):

if (keyboard_check(vk_right) || keyboard_check(ord("D"))) {
    x += 4;
}
if (keyboard_check(vk_left) || keyboard_check(ord("A"))) {
    x -= 4;
}
if (keyboard_check(vk_up) || keyboard_check(ord("W"))) {
    y -= 4;
}
if (keyboard_check(vk_down) || keyboard_check(ord("S"))) {
    y += 4;
}

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

Настройка камеры

Настроим камеру для улучшения визуального отображения. В настройках комнаты (двойной клик на комнате) перейдём во вкладку «Viewports». Отключим Viewport 0 и изменим его размеры: Width = 320, Height = 180. В свойствах Viewport установим ширину и высоту окна игры (например, 960×540).

Запустим игру. Окно игры станет больше, а изображение приблизится. Чтобы камера следила за игроком, в свойствах Viewport в поле Object Following укажем объект Player.

Теперь камера следует за игроком, но слишком резко. Добавим горизонтальные и вертикальные границы (Horizontal Border, Vertical Border), чтобы камера плавно перемещалась. Установим значения, примерно вдвое меньшие ширины и высоты Viewport (например, 160 и 90).

После этих настроек камера будет плавно следовать за игроком, оставаясь в центре окна.

Создали улучшенную систему управления игроком и настройку камеры, что улучшило игровой процесс. Теперь игрок может перемещаться с помощью стрелок или клавиш WASD, а камера плавно следует за ним.

Что будем искать? Например,программа