Найти в Дзене

Пишем игру Flappy Bird на Python. Добавление динамического фона. Часть 10.

Когда мы уже долетим?
Когда мы уже долетим?

Начнем с создания нового класса в котором спроектируем все основные свойства и методы для добавляемого фона. Почему стоит разделять создаваемые объекты на разные классы мы подробно разбираем на курсе программирования python в образовательном центре для детей и взрослых - КИДКОД.

Школа Программирования и Английского языка для детей и взрослых «КИД КОД». Занятия проходят по адресу
-2

Создаем класс - Background и последовательно описываем все основные свойства.

Новый класс описывающий фон
Новый класс описывающий фон
  • self.speed - Скорость перемещения фона
  • self.width, self.height - Ширина и высота, эти свойства нам помогут определить базовый размер фона
  • self.image - Объект изображения и изменения его базовых размеров. Фон можно скачать ниже
Изображение фона
Изображение фона
  • self.first_rect, self.second_rect - Определение занимаемого в пространстве места созданным ранее фоном. Мы используем два одинаковых изображения для создания эффекта бесконечного перемещения
  • self.background_objects - Добавляем созданные ранее объекты в коллекцию
  • self.background_objects[индекс].top или .left - Определяем их изначальную позицию

Далее переходим к созданию методов. И первый метод отрисует созданный фон.

Метод отрисовки фона
Метод отрисовки фона

Следующий метод будет перемещать фон в пространстве согласно заданной скорости. А также внутри ветвления мы определим перемещение вышедшего за пределы экрана фона в начальную позицию. Это необходимо сделать для эффекта бесконечно перемещаемого изображения. В этом методе мы также проверим необходимость перемещения фона, так как перемещать мы его будем только во время самой игры.

Метод изменения координат
Метод изменения координат

И сам метод определения необходимости для перемещения.

Играется ли игра?
Играется ли игра?

Создаем новый объект - background.

Объект фона
Объект фона

Добавляем вызов метода обновления координат внутри нашего основного движка игры.

Вызов метода .update
Вызов метода .update

И последнее, что нам необходимо сделать, это добавить вызов метода для отрисовки.

Рисуем фон
Рисуем фон

Проверяем результат.

Игра готова
Игра готова
-12

В этой статье мы завершили наш путь создания игры с помощью языка программирования python, а также модуля pygame. Надеюсь в этом мини курсе вы смогли найти для себя, что то новое и интересное.

В следующих циклах мы разберем больше тем связанных с программированием (*не только игр). А для тех кто хочет глубже понять происходящее мы предусмотрели скидку в 25% на первый месяц обучения в нашем центре программирования КИДКОД. Используйте промокод - ДЗЕН и начните свой путь в мир большого программирования вместе с нами!