Первое игровое окно

Открываем настоящее окно игры вместо текстовой консоли.

Кадр 2D-игры Лови звёзды

Цель урока: Запустить простое окно 900 × 600 на компьютере.

Как работать с примерами

Arcade запускается на компьютере. Первый урок показывает основу игрового файла; далее это фрагменты полной игры. Открой полный код и меняй в нём нужные строки. Кнопка онлайн IDE для этого проекта не используется.

Шаг 1 · Импортируй движок

Arcade — библиотека для 2D-игр. Её нужно установить на компьютер и подключить к файлу.

Python
import arcadeWIDTH = 900HEIGHT = 600
Что увидишь
Пока ничего не нарисовано: мы только подготовили инструменты и размер окна.

Что происходит в коде

  1. import arcade подключает возможности библиотеки.
  2. WIDTH и HEIGHT хранят ширину и высоту будущего окна в пикселях.
  3. Большие буквы показывают, что эти числа задуманы как постоянные настройки.

Шаг 2 · Создай и запусти окно

Небольшую игру удобно поместить в класс-наследник Window. Это часть полного файла, который можно скачать ниже.

Python
class StarCatchGame(arcade.Window):    def __init__(self):        super().__init__(WIDTH, HEIGHT, "Лови звёзды")        self.background_color = (10, 17, 45)    def on_draw(self):        self.clear()StarCatchGame()arcade.run()
Что увидишь
Откроется тёмно-синее окно «Лови звёзды».

Что происходит в коде

  1. class создаёт новый вид игрового окна на основе arcade.Window.
  2. __init__ выполняется один раз при создании окна; super().__init__ задаёт размер и заголовок.
  3. on_draw вызывается для каждого кадра и очищает фон; arcade.run() запускает игру.

Попробуй сам

  1. Запусти полный файл игры на компьютере и найди окно Arcade.
  2. Поменяй название окна в super().__init__.
  3. Попробуй другой цвет фона, изменив три числа RGB.

Меняй одну строчку за раз, сохраняй файл и запускай игру на компьютере снова.

Как это работает в полной игре

Полная игра использует StarCatchGame(arcade.Window): окно получает события клавиатуры, обновления и рисования.

Скачать проект Arcade
Заметка для преподавателя

Покажите отличие: в консольной игре результатом были строки текста, здесь результат — отдельное окно. Пример с class сначала объясняйте как «чертёж окна», без подробностей наследования.