import pygame.font #要用到字体属性,导入字体类
class Button():
def __init__(self,ai_settings,screen,msg):
self.screen=screen #要用到屏幕属性,传入屏幕对象作为按钮中的属性
self.screen_rect=screen.get_rect() #屏幕对象调用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) #none使字体为默认,字号为48
self.rect=pygame.Rect(0,0,self.width,self.height) #在屏幕左上角(0,0)处生成一个矩形作为按钮的矩形
self.rect.center=self.screen_rect.center #调整按钮矩形的中心点坐标的位置与屏幕矩形的中心点坐标重合,以此放置按钮位置
self.prep_msg(msg)
def prep_msg(self,msg): #将文本字符渲染成图像处理
self.msg_image=self.font.render(msg,True,self.text_color,self.button_color) #调用render()将字符渲染成图像
self.msg_image_rect=self.msg_image.get_rect() #文本图像生成它自己的矩形
self.msg_image_rect.center=self.rect.center #按钮的矩形中心点与文本图像矩形中心点重合,以此放置文本
def draw_button(self):
self.screen.fill(self.button_color,self.rect) #画出按钮
self.screen.blit(self.msg_image,self.msg_image_rect) #绘制按钮上的文本
外星人入侵Button类
最新推荐文章于 2022-04-03 15:19:58 发布