Клавиши управления
Учим корабль замечать нажатие и отпускание клавиши.

Цель урока: Запоминать, куда игрок хочет двигаться.
Arcade запускается на компьютере. Первый урок показывает основу игрового файла; далее это фрагменты полной игры. Открой полный код и меняй в нём нужные строки. Кнопка онлайн IDE для этого проекта не используется.
Шаг 1 · Запомни нажатие
Клавиша не сдвигает корабль сама. Событие лишь запоминает желание двигаться.
def on_key_press(self, key, modifiers): if key in (arcade.key.LEFT, arcade.key.A): self.left_pressed = True elif key in (arcade.key.RIGHT, arcade.key.D): self.right_pressed = TrueПосле нажатия A значение left_pressed становится True.
Что происходит в коде
- on_key_press Arcade вызывает, когда игрок нажимает кнопку.
- in проверяет два возможных варианта управления: стрелка или буква.
- True означает «эта клавиша сейчас нажата».
Шаг 2 · Не забудь отпускание
Если не вернуть False, корабль продолжит лететь после отпускания клавиши.
def on_key_release(self, key, modifiers): if key in (arcade.key.LEFT, arcade.key.A): self.left_pressed = False elif key in (arcade.key.RIGHT, arcade.key.D): self.right_pressed = FalseПосле отпускания A значение left_pressed снова False.
Что происходит в коде
- on_key_release срабатывает при отпускании кнопки.
- False означает, что игрок больше не держит кнопку.
- Вместе две функции сохраняют текущее состояние клавиатуры.
Попробуй сам
- Найди обе функции в полном файле.
- Добавь клавишу J для движения влево.
- Предскажи, что случится, если убрать on_key_release().
Меняй одну строчку за раз, сохраняй файл и запускай игру на компьютере снова.
Как это работает в полной игре
В полном файле клавиши A/D и стрелки включают и выключают два флага. Следующий урок покажет, как эти флаги превращаются в движение.
Скачать проект ArcadeЗаметка для преподавателя
Попросите детей удерживать карточку «влево», а потом опустить её. Это помогает объяснить разницу между событием нажатия и состоянием «кнопка удерживается».