Глава 1 · Собираем сцену

Добавляем космонавта

7 минут · 08:00–15:00 в часовом практикуме

Результат задачи: Разместить персонажа на фоне и управлять его положением через координаты.

Рабочий файл

Открой game.py в распакованном проекте. Продолжаем файл предыдущей задачи. Python и Arcade уже должны быть установлены. После изменения сохрани и запусти Run → Run Module / F5. Старое игровое окно закрой.

Скачать учебную папку со всеми картинками ↓

Что используем в этом блоке

Координаты
x растёт вправо, y в Arcade растёт вверх. Начало — левый нижний угол.
XYWH
Прямоугольник по центру x, y и размерам width, height.

Подзадача 1 · Загрузи PNG и задай позицию

Добавь x и y после настроек. После загрузки фона добавь текстуру hero.

Python
x = 210y = 235hero = arcade.load_texture("assets/astronaut.png")

Как работает блок

  1. x и y задают центр рисунка; hero хранит текстуру персонажа.
  2. Прозрачные области PNG позволяют показать фон вокруг космонавта.

Подзадача 2 · Сделай функцию рисования объекта

Перед draw опиши draw_image. Её же позже используем для звезды и метеора.

Python
def draw_image(texture, x, y, size):    arcade.draw_texture_rect(texture, arcade.XYWH(x, y, size, size))

Как работает блок

  1. texture — изображение; x и y — его центр; size — размер квадратной области.
  2. Здесь обычная функция Python и прямой вызов Arcade. Все правила остаются в game.py.

Подзадача 3 · Покажи героя поверх фона

Внутри draw после строки с фоном добавь вызов. Сохрани, закрой старое окно и запусти файл снова.

Python
draw_image(hero, x, y, 132)

Как работает блок

  1. Внутри draw у вызова четыре пробела отступа.
  2. Порядок рисования важен: фон первым, персонаж после него.
Рабочий результат задачи 2: добавляем космонавта.
Рабочий результат задачи 2: добавляем космонавта. Нажми на кадр, чтобы увеличить.

Самостоятельная модификация

  1. Передвинь героя выше и правее, меняя только начальные координаты. Затем верни x = 210, y = 235.

Критерий готовности

  • Персонаж виден на фоне и меняет положение после изменения x или y.

Полный game.py после задачи 2

Сверь расположение блоков или скачай файл в корень распакованного проекта рядом с assets. Это полная рабочая версия на данном этапе.

Скачать game.py задачи 2 ↓
Посмотреть весь файл
Python
import arcadeWIDTH = 1280HEIGHT = 800x = 210y = 235window = arcade.Window(WIDTH, HEIGHT, "Звезда и Метеор")background = arcade.load_texture("assets/background.png")hero = arcade.load_texture("assets/astronaut.png")def draw_image(texture, x, y, size):    arcade.draw_texture_rect(texture, arcade.XYWH(x, y, size, size))def draw():    window.clear()    arcade.draw_texture_rect(background, arcade.LBWH(0, 0, WIDTH, HEIGHT))    draw_image(hero, x, y, 132)window.on_draw = drawarcade.run()
Преподавателю: объяснение блока и запись видео

Начните так: «Картинка героя уже готова. Наша задача — загрузить её и указать, где рисовать.»

Спросите: Что изменится при увеличении y на 100?

Ответ: Персонаж поднимется на 100 пикселей; горизонтальная позиция останется прежней.

Если не получается: Если персонаж исчез, проверьте вызов после фона, имя файла и попадание координат в окно.

Открыть сценарий блока →