Pygame IOError,无法读取字体文件
Pygame IOError, unable to read Font File
我最近在Pygame下载了一个我做的游戏的字体,但是当提示使用字体的地方时,却显示错误。
错误内容为:
Traceback (most recent call last):
File "/home/pi/Desktop/Python Game.py", line 83, in <module> game_loop()
File "/home/pi/Desktop/Python Game.py", line 78, in game_loop crash()
File "/home/pi/Desktop/Python Game.py", line 29, in message_display largeText = pygame.font.Font
("/home/pi/.fonts/ARCADECLASSIC.TTF",110)
IOError: unable to read font file '/home/pi/.fonts/ARCADECLASSIC.TTF'
我的代码是:
def car (x, y)
gameDisplay.blit (carImg, (x, y))
def text_objects (text, font):
textSurface = font.render (text, True, black)
return textSurface, textSurface.get_rect()
def message_display (text):
largeText = pygame.font.Font ("/Home/pi/.fonts/ARCADECLASSIC.TTF, 110)
Textsurf, TextRect-text_objects (text, largeText)
TextRect.center = ((display-width/2), (display-height/2))
gameDisplay.blit (TextSurf, TextRect)
我不确定发生了什么,因为我从另一个网站下载了相同的字体,这意味着它没有损坏。
我在 Raspberry Pi 2 运行 Raspbian 气喘吁吁。
这是我的所有代码(如果需要的话):
import pygame
import time
pygame.init()
display_width=800
display_height=600
gameDisplay=pygame.display.set_mode((display_width,display_height))
pygame.display.set_caption("Road Obstacles!")
black=(0,0,0)
white=(255,255,255)
red=(255,0,0)
car_width=50
clock=pygame.time.Clock()
carImg = pygame.image.load("Racecar.png")
def car(x,y):
gameDisplay.blit(carImg,(x,y))
def text_objects(text, font):
textSurface = font.render(text, True, black)
return textSurface, textSurface.get_rect()
def message_display(text):
largeText = pygame.font.Font("ARCADECLASSIC.TTF",110)
TextSurf, TextRect = text_objects(text, largeText)
TextRect.center = ((display_width/2),(display_height/2))
gameDisplay.blit(TextSurf, TextRect)
pygame.display.update
time.sleep(2)
game_loop
def crash():
message_display("Woops! You Crashed!")
def game_loop():
x = (display_width * 0.45)
y = (display_height * 0.8)
x_change = 0
gameExit = False
while not gameExit:
for event in pygame.event.get():
if event.type == pygame.QUIT:
gameExit = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
x_change += -5
elif event.key == pygame.K_RIGHT:
x_change += 5
if event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT:
x_change += 5
if event.key == pygame.K_RIGHT:
x_change += -5
x += x_change
gameDisplay.fill(white)
car(x,y)
if x > display_width - car_width or x < 0:
crash()
pygame.display.update()
clock.tick(60)
game_loop()
pygame.quit()
quit()
我在 Youtube 上使用了 Sentdex 的教程来教我一些关于 pygame 的事情,但是我遇到了这个障碍导致我停止了进步,因为我试图让这个游戏成为一个他的教程的扩展,而不仅仅是副本。
在 windows 上工作正常。我从 http://www.dafont.com/arcade-pizzadude.font 下载了一些随机的街机字体文件。您的字体文件可能已损坏。还要注意,以“.”开头的文件夹。在 linux 中默认隐藏,但在 windows 中不隐藏。那么你能把字体文件放在其他文件夹中并尝试 运行 这个代码吗?
我最近在Pygame下载了一个我做的游戏的字体,但是当提示使用字体的地方时,却显示错误。 错误内容为:
Traceback (most recent call last):
File "/home/pi/Desktop/Python Game.py", line 83, in <module> game_loop()
File "/home/pi/Desktop/Python Game.py", line 78, in game_loop crash()
File "/home/pi/Desktop/Python Game.py", line 29, in message_display largeText = pygame.font.Font
("/home/pi/.fonts/ARCADECLASSIC.TTF",110)
IOError: unable to read font file '/home/pi/.fonts/ARCADECLASSIC.TTF'
我的代码是:
def car (x, y)
gameDisplay.blit (carImg, (x, y))
def text_objects (text, font):
textSurface = font.render (text, True, black)
return textSurface, textSurface.get_rect()
def message_display (text):
largeText = pygame.font.Font ("/Home/pi/.fonts/ARCADECLASSIC.TTF, 110)
Textsurf, TextRect-text_objects (text, largeText)
TextRect.center = ((display-width/2), (display-height/2))
gameDisplay.blit (TextSurf, TextRect)
我不确定发生了什么,因为我从另一个网站下载了相同的字体,这意味着它没有损坏。
我在 Raspberry Pi 2 运行 Raspbian 气喘吁吁。 这是我的所有代码(如果需要的话):
import pygame
import time
pygame.init()
display_width=800
display_height=600
gameDisplay=pygame.display.set_mode((display_width,display_height))
pygame.display.set_caption("Road Obstacles!")
black=(0,0,0)
white=(255,255,255)
red=(255,0,0)
car_width=50
clock=pygame.time.Clock()
carImg = pygame.image.load("Racecar.png")
def car(x,y):
gameDisplay.blit(carImg,(x,y))
def text_objects(text, font):
textSurface = font.render(text, True, black)
return textSurface, textSurface.get_rect()
def message_display(text):
largeText = pygame.font.Font("ARCADECLASSIC.TTF",110)
TextSurf, TextRect = text_objects(text, largeText)
TextRect.center = ((display_width/2),(display_height/2))
gameDisplay.blit(TextSurf, TextRect)
pygame.display.update
time.sleep(2)
game_loop
def crash():
message_display("Woops! You Crashed!")
def game_loop():
x = (display_width * 0.45)
y = (display_height * 0.8)
x_change = 0
gameExit = False
while not gameExit:
for event in pygame.event.get():
if event.type == pygame.QUIT:
gameExit = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
x_change += -5
elif event.key == pygame.K_RIGHT:
x_change += 5
if event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT:
x_change += 5
if event.key == pygame.K_RIGHT:
x_change += -5
x += x_change
gameDisplay.fill(white)
car(x,y)
if x > display_width - car_width or x < 0:
crash()
pygame.display.update()
clock.tick(60)
game_loop()
pygame.quit()
quit()
我在 Youtube 上使用了 Sentdex 的教程来教我一些关于 pygame 的事情,但是我遇到了这个障碍导致我停止了进步,因为我试图让这个游戏成为一个他的教程的扩展,而不仅仅是副本。
在 windows 上工作正常。我从 http://www.dafont.com/arcade-pizzadude.font 下载了一些随机的街机字体文件。您的字体文件可能已损坏。还要注意,以“.”开头的文件夹。在 linux 中默认隐藏,但在 windows 中不隐藏。那么你能把字体文件放在其他文件夹中并尝试 运行 这个代码吗?