Pygame电子菜单制作_按钮类

"""
   电子菜单制作
"""
import pygame
from pygame.locals import *

class Button(pygame.sprite.Sprite):
    def __init__(self,name,size,pos,title_surface,bgcolors):
        """
           name:名字,size:宽高二元组,pos:渲染坐标,
           title_surface:字体图,bgcolor:背景颜色
        """
        self.name = name
        pygame.sprite.Sprite.__init__(self)
        self.bgcolors= bgcolors           # 两种颜色轮换
        self.index = 0
        self.image0 = pygame.Surface(size)# 新建第一个造型
        self.image0.fill(bgcolors[0])
        self.image1 = pygame.Surface(size)# 新建第二个造型
        self.image1.fill(bgcolors[1])
        # 由于两个造型大小相同,这里让它们共用一个中心点
        self.rect = self.image0.get_rect(center=pos)
        x = self.rect.width//2           # 矩形对象中心点x坐标
        y = self.rect.height//2          # 矩形对象中心点y坐标
        
        r = title_surface.get_rect()      # 标题的矩形对象
        r.center = (x,y)                  # 把(x,y)设为按钮中心点
        
        self.image0.blit(title_surface,r) # 把标题渲染到image0
        self.image1.blit(title_surface,r) # 把标题渲染到image1
        self.images = self.image0,self.image1
        self.image = self.images[self.index]
        self.collide_cursor = False
        

You must log in to read the rest of this article. Please log in or register as a user.