首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >博弈中的最优Numpad

博弈中的最优Numpad
EN

Stack Overflow用户
提问于 2021-10-02 18:09:48
回答 1查看 42关注 0票数 1

我在试着创造一个数字垫。

我试着做便签的方法是:

代码语言:javascript
复制
class One:

 def __init__(self,c,msg):
     self.screen = c.calculator
     self.screen_rect = self.screen.get_rect()
     self.settings = c.settings
     self.width,self.height = 60,60 
     self.button_color = (230,230,230)
     self.text_color = (100,100,100)
     self.rect = pygame.Rect(30,600,self.width,self.height)
     self.font = pygame.font.SysFont('Comic Sans MS',20,bold=pygame.font.Font.bold)
     self._prep_msg(msg)

 def _prep_msg(self,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 

 def draw_button(self):
     self.screen.fill(self.button_color,self.rect)
     self.screen.blit(self.msg)

这种方法需要大量的代码,每个类对应9个数字。

我希望能有更好的方法来制作这个便条。

我想制造精灵,但我不知道我将如何改变文本:

代码语言:javascript
复制
self.One = One(self,"1")

如果有什么事情你不明白,请问。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-02 18:15:13

阅读关于的文章。您可以多次实例化一个类。例如:

创建一个Button。按钮的位置是构造函数的参数:

代码语言:javascript
复制
class Button:
    def __init__(self, c, msg, x, y):                            # <--- x, y
        self.screen = c.calculator
        self.screen_rect = self.screen.get_rect()
        self.settings = c.settings
        self.width,self.height = 60,60 
        self.button_color = (230,230,230)
        self.text_color = (100,100,100)
        self.rect = pygame.Rect(x, y, self.width, self.height)   # <--- x, y
        self.font = pygame.font.SysFont('Comic Sans MS',20,bold=pygame.font.Font.bold)
        self._prep_msg(msg)

    def _prep_msg(self,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 

    def draw_button(self):
        self.screen.fill(self.button_color,self.rect)
        self.screen.blit(self.msg)

创建类实例对象的多个Button

代码语言:javascript
复制
self.button_one = Button(self, "1", 30, 600)
self.button_two = Button(self, "2", 100, 600)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69419026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档