我想知道是否可以在pygame屏幕上显示文本。我正在研究游戏,我正在尝试显示游戏中文本文件中的说明。
这是我在下面做的:
def instructions():
instructText = instructionsFont.render(gameInstructions.txt, True, WHITE)
screen.blit(instructText, ((400 - (instructText.get_width()/2)),(300 - (instructText.get_height()/2))))
但是,我发现错误:
line 356, in instructions
instructText = instructionsFont.render(pongInstructions.txt, True, WHITE)
NameError: name 'pongInstructions' is not defined
但是,我的尝试都是反复试验,因为我实际上不确定如何做到这一点……任何帮助都将不胜感激!
gameinstructions
没有定义,因为python认为它是一个变量。
告诉Python这是您需要以引号中的字符串:
instructText = instructionsFont.render("gameInstructions.txt", True, WHITE)
但是,这可能不是您想要的。您要做的就是阅读文件。为此,您应该使用with
语句安全打开和关闭文件:
with open("gameInstructions.txt") as f:
instructText = instructionsFont.render(f.read(), True, WHITE)
我当前无法尝试使用代码,但是如果PyGame无法一次处理几行文本,则可能需要循环循环。
with open("gameInstructions.txt") as f:
for line in f:
instructText = instructionsFont.render(line, True, WHITE)