М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет176/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   172   173   174   175   176   177   178   179   ...   334
Байланысты:
Изучаем Python

alien_invasion.py
def __init__(self):
...
pygame.display.set_caption("Alien Invasion")


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
:


Достарыңызбен бөлісу:
1   ...   172   173   174   175   176   177   178   179   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет