如何在pygame中为RPG制作TextBox / Status Box?

时间:2011-06-19 10:15:45

标签: python text pygame

我需要为我的RPG创建一个TextBox / MessageBox / StatusBox等。我做了一个文本框 上课,但似乎没有用。它会使表面闪烁,但不会显示任何文字。

CODE:

class TextBox(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.initFont()
        self.initImage()
        self.initGroup()
        self.setText(['a','b'])

    def initFont(self):
        pygame.font.init()
        self.font = pygame.font.Font(None,3)

    def initImage(self):
        self.image = pygame.Surface((200,80))
        self.image.fill((255,255,255))
        self.rect = self.image.get_rect()
        self.rect.center = (0,0)        

    def setText(self,text):
        tmp = pygame.display.get_surface()
        x_pos = self.rect.left+5
        y_pos = self.rect.top+5

        for t in text:
            x = self.font.render(t,False,(0,0,0))
            tmp.blit(x,(x_pos,y_pos))
            x_pos += 10

            if (x_pos > self.image.get_width()-5):
                x_pos = self.rect.left+5
                y_pos += 10

    def initGroup(self):
        self.group = pygame.sprite.GroupSingle()
        self.group.add(self)

1 个答案:

答案 0 :(得分:3)

对不起,对不起。没关系。我自己发现了这个问题。我写道:

 self.rect.center = (0,0)

应该在哪里

 self.rect.top = 0 ; self.rect.left = 0

非常感谢。 :d