我需要为我的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)
答案 0 :(得分:3)
self.rect.center = (0,0)
应该在哪里
self.rect.top = 0 ; self.rect.left = 0
非常感谢。 :d