Улучшим механику передвижения игрока и настроим работу камеры. Для передвижения игрока используем событие 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, а камера плавно следует за ним.