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



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


Глава 14 • Ведение счета
Следующий код может использоваться для создания кнопок в любой игре. Ниже 
приведена первая часть класса 
Button
; сохраните ее в файле 
button .py
:
button.py
import pygame.font
class Button():

def __init__(self, ai_game, msg):
"""Инициализирует атрибуты кнопки."""
self.screen = ai_game.screen
self.screen_rect = self.screen.get_rect()
# Назначение размеров и свойств кнопок.

self.width, self.height = 200, 50
self.button_color = (0, 255, 0)
self.text_color = (255, 255, 255)

self.font = pygame.font.SysFont(None, 48)
# Построение объекта rect кнопки и выравнивание по центру экрана.

self.rect = pygame.Rect(0, 0, self.width, self.height)
self.rect.center = self.screen_rect.center
# Сообщение кнопки создается только один раз.

self.prep_msg(msg)
Сначала программа импортирует модуль 
pygame .font
, который позволяет Pygame 
выводить текст на экран. Метод 
__init__()
получает параметры 
self
, объект 
ai_game
и строку 
msg
с текстом кнопки 

. Размеры кнопки задаются в точке 

, по-
сле чего атрибуты 
button_color
и 
text_color
задаются так, чтобы прямоугольник 
кнопки был окрашен в ярко-зеленый цвет, а текст выводился белым цветом.
В точке 

происходит подготовка атрибута 
font
для вывода текста. Аргумент 
None
сообщает Pygame, что для вывода текста должен использоваться шрифт по 
умолчанию, а значение 
48
определяет размер текста. Чтобы выровнять кнопку по 
центру экрана, мы создаем объект 
rect
для кнопки 

и задаем его атрибут 
center
в соответствии с одноименным атрибутом экрана.
Pygame выводит строку текста в виде графического изображения. В точке 

эта 
задача решается методом 
_prep_msg()
.
Код 
_prep_msg()
выглядит так:


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




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

    Басты бет