Окно и космический фон
8 минут · 00:00–08:00 в часовом практикуме
Результат задачи: Открыть окно Arcade 1280 × 800 и нарисовать фон из PNG.
Рабочий файл
Открой game.py в распакованном проекте. Сразу создаём окно и рисуем фон. Python и Arcade уже должны быть установлены. После изменения сохрани и запусти Run → Run Module / F5. Старое игровое окно закрой.
Скачать учебную папку со всеми картинками ↓Что используем в этом блоке
- Текстура
- Загруженное изображение, которое Arcade может нарисовать.
- Обработчик
- Функция, которую окно вызывает при событии: рисовании, обновлении или вводе.
Подзадача 1 · Создай окно
Открой game.py в распакованной мастерской. Вставь этот стартовый блок. Python и Arcade должны быть установлены до начала занятия.
import arcadeWIDTH = 1280HEIGHT = 800window = arcade.Window(WIDTH, HEIGHT, "Звезда и Метеор")Как работает блок
- WIDTH и HEIGHT задают размеры в пикселях. Заглавные имена обозначают настройки по соглашению.
- arcade.Window создаёт окно. Переменная window позволяет подключить к нему функции.
Подзадача 2 · Загрузи фон
После создания окна загрузи background.png. Папка assets должна находиться рядом с game.py; запускаем из этой папки проекта.
background = arcade.load_texture("assets/background.png")Как работает блок
- load_texture читает PNG. Эту операцию выполняем один раз, до начала игры.
Подзадача 3 · Нарисуй кадр и запусти
Добавь функцию draw ниже загрузки. Подключения и arcade.run() всегда оставляй внизу файла.
def draw(): window.clear() arcade.draw_texture_rect(background, arcade.LBWH(0, 0, WIDTH, HEIGHT))window.on_draw = drawarcade.run()Как работает блок
- clear очищает предыдущий кадр; следующий вызов рисует фон.
- LBWH описывает прямоугольник: левый край, нижний край, ширина, высота. Фон занимает всё окно.
- window.on_draw = draw передаёт функцию окну без немедленного вызова. Цикл обновлений запускает arcade.run().

Самостоятельная модификация
- Измени заголовок окна и проверь, что он обновился после перезапуска.
Критерий готовности
- В отдельном окне виден фон; в Shell нет ошибки загрузки файла.
Полный game.py после задачи 1
Сверь расположение блоков или скачай файл в корень распакованного проекта рядом с assets. Это полная рабочая версия на данном этапе.
Скачать game.py задачи 1 ↓Посмотреть весь файл
import arcadeWIDTH = 1280HEIGHT = 800window = arcade.Window(WIDTH, HEIGHT, "Звезда и Метеор")background = arcade.load_texture("assets/background.png")def draw(): window.clear() arcade.draw_texture_rect(background, arcade.LBWH(0, 0, WIDTH, HEIGHT))window.on_draw = drawarcade.run()Преподавателю: объяснение блока и запись видео
Начните так: «Начинаем с игрового окна. Сегодня собираем одну игру по шести задачам; после каждого блока сразу проверяем результат.»
Спросите: Почему картинку загружаем один раз, а рисуем много раз?
Ответ: Файл достаточно прочитать при подготовке. Каждый новый кадр должен заново показать изображение.
Если не получается: FileNotFoundError: проверьте распаковку, assets/background.png и запуск из папки проекта. ModuleNotFoundError: открыт Python без Arcade.
Открыть сценарий блока →