Добавление
кнопки 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
:
Достарыңызбен бөлісу: