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



Pdf көрінісі
бет216/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   212   213   214   215   216   217   218   219   ...   334
Байланысты:
Изучаем Python

button.py
def _prep_msg(self, msg):
"""Преобразует msg в прямоугольник и выравнивает текст по центру."""

self.msg_image = self.font.render(msg, True, self.text_color,
self.button_color)
❷ 
self.msg_image_rect = self.msg_image.get_rect()
self.msg_image_rect.center = self.rect.center


Добавление кнопки Play
295
Метод 
_prep_msg()
должен получать параметр 
self
и текст, который нужно вы-
вести в графическом виде (
msg
). Вызов 
font.render()
преобразует текст, храня-
щийся в 
msg
, в изображение, которое затем сохраняется в 
self.msg_image

. Ме-
тоду 
font.render()
также передается логический признак режима сглаживания 
текста. В остальных аргументах передаются цвет шрифта и цвет фона. В нашем 
примере режим сглаживания включен (
True
), а цвет фона совпадает с цветом 
фона кнопки. (Если цвет фона не указан, Pygame пытается вывести шрифт с про-
зрачным фоном.)
В точке 

изображение текста выравнивается по центру кнопки, для чего создается 
объект 
rect
изображения, а его атрибут 
center
приводится в соответствие с одно-
именным атрибутом кнопки.
Остается создать метод 
draw_button()
, который может вызываться для отображе-
ния кнопки на экране:
button.py
def draw_button(self):
# Отображение пустой кнопки и вывод сообщения.
self.screen.fill(self.button_color, self.rect)
self.screen.blit(self.msg_image, self.msg_image_rect)
Вызов метода 
screen.fill()
рисует прямоугольную часть кнопки. Затем вызов 
screen.blit()
выводит изображение текста на экран, с передачей изображения 
и объекта 
rect
, связанного с изображением. Класс 
Button
готов.
Вывод кнопки на экран
В программе класс 
Button
используется для создания кнопки 
Play
. Мы создадим 
кнопку прямо в файле 
alien_invasion .py
:


Достарыңызбен бөлісу:
1   ...   212   213   214   215   216   217   218   219   ...   334




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

    Басты бет