Pygame字体错误

Sil*_*ire 4 python fonts pygame

所以我决定开始制作一个游戏而我正在测试它然后我收到了这个错误:

Traceback (most recent call last):
  File "TheAviGame.py", line 15, in <module>
    font = pygame.font.Font(None,25)
pygame.error: font not initialized
Run Code Online (Sandbox Code Playgroud)

我不知道到目前为止我做错了什么......代码:

#!/usr/bin/python
import pygame
blue = (25,25,112)
black = (0,0,0)
red = (255,0,0)
white = (255,255,255)
groundcolor = (139,69,19)
gameDisplay = pygame.display.set_mode((1336,768))
pygame.display.set_caption("TheAviGame")
direction = 'none'
clock = pygame.time.Clock()
img = pygame.image.load('player.bmp')
imgx = 1000
imgy = 100
font = pygame.font.Font(None,25)
def mts(text, textcolor, x, y):
    text = font.render(text, True, textcolor)
    gamedisplay.blit(text, [x,y])
def gameloop():
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()
            if event.pygame == pygame.KEYDOWN:
                if event.key == pygame.RIGHT:
                    imgx += 10
        gameDisplay.fill(blue)
        pygame.display.update()
        clock.tick(15)
gameloop()
Run Code Online (Sandbox Code Playgroud)

Mal*_*imi 7

您从未初始化pygamepygame.font在导入后:

# imports

pygame.init() # now use display and fonts
Run Code Online (Sandbox Code Playgroud)

  • 如果你调用`pygame.init`,你不需要*也*调用`pygame.font.init`(虽然这样做是无害的,但不是必需的)因为`pygame.init`代表你这样做。如果你愿意,你可以在初始化整个 pygame 之前调用 `pygame.font.init` 来做任何类型的字体工作。正如 http://www.pygame.org/docs/ref/pygame.html#pygame.init 所解释的那样,“您可能希望单独初始化不同的模块以加速您的程序或不使用您的游戏不使用的东西。” . (2认同)