我正在尝试将一些字体渲染到我的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)
但似乎没有任何效果。
答案 0 :(得分:1)
正如furas所说,问题是由于我在绘图后填充表面造成的。