两个表面不闪烁pygame

时间:2017-01-07 19:00:22

标签: python pygame pygame-surface

我正在尝试将一些字体渲染到我的Pygame屏幕上,但它从未出现过。我想我的所有设置都正确,我的程序没有丢失任何错误,所以我不确定是什么问题。这是我用来尝试创建文本的代码:

pygame.init()
pygame.display.set_caption("MyGame")
font = SysFont("Times", 24) #Create a new font using times if it exists, else use system font.
white = (255, 255, 255)

while True:  #Game loop
  label = font.render("Score: " + str(score), 1, white)
  self.surface.blit(label, (100, 100))
  # Do other game things....
  self.board.draw()
  pygame.display.update()
  self.clock.tick(60)

并在我的init函数中:

def __init__(self):
    self.surface = pygame.display.set_mode((400, 500)) #Set dimensions of game window. Creates a Surface
    self.clock = pygame.time.Clock()
    self.board = Board(self.surface)  # Board is an object in my game

我做错了什么?我已经查看了Pygame文档,但是我的代码中看不到任何错误。我也试过用

明确设置字体
font = pygame.font.Font("/System/Library/Fonts/Helvetica.dfont", 24)

但似乎没有任何效果。

1 个答案:

答案 0 :(得分:1)

正如furas所说,问题是由于我在绘图后填充表面造成的。