244
Глава 12 • Инопланетное вторжение
# Назначение цвета фона.
❶
self.bg_color = (230, 230, 230)
def run_game(self):
...
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
# При каждом проходе цикла перерисовывается экран.
❷
self.screen.fill(self.bg_color)
# Отображение последнего прорисованного экрана.
pygame.display.flip()
Цвета в Pygame задаются в схеме RGB: тройками интенсивности красной, зеленой
и синей составляющих цвета. Значение каждой составляющей лежит в диапазоне от
0 до 255. Цветовое значение (255, 0, 0) соответствует красному цвету, (0, 255, 0) —
зеленому и (0, 0, 255) — синему. Разные сочетания составляющих RGB позволяют
создать до 16 миллионов цветов. В цветовом значении (230, 230, 230) красная,
синяя и зеленая составляющие смешиваются в равных долях, давая светло-серый
цвет фона. Этот цвет
сохраняется в переменной
self.bg_color
.
В точке
экран заполняется цветом фона. Для этого вызывается метод
fill()
,
получающий всего один аргумент: цвет фона.
Создание
класса Settings
Каждый раз, когда в нашу игру добавляется новая функциональность, также в нее
обычно добавляются новые настройки (параметры конфигурации). Вместо того
чтобы добавлять настройки в коде, мы напишем модуль с именем
settings
; этот
модуль содержит класс с именем
Settings
для хранения всех настроек. Такое реше-
ние позволит передавать один объект вместо множества отдельных настроек. Кроме
того, оно упрощает вызовы функций и изменение внешнего вида игры с ростом
проекта. Чтобы внести изменения в игру, достаточно будет изменить некоторые
значения в
settings .py
вместо того, чтобы искать разные настройки в файлах.
Создайте новый файл с именем
settings .py
в папке
alien_invasion
. Исходная версия
класса
Settings
выглядит так:
settings.py
class Settings():
"""Класс для хранения всех настроек игры Alien Invasion."""
def __init__(self):
"""Инициализирует настройки игры."""
#
Параметры экрана
self.screen_width = 1200
self.screen_height = 800
self.bg_color = (230, 230, 230)
Добавление
изображения корабля
245
Чтобы создать экземпляр
Settings
и использовать его для обращения к настройкам,
внесите
изменения в
alien_invasion .py
:
Достарыңызбен бөлісу: