如何在pygame屏幕上显示txt文件?

时间:2017-05-29 21:28:05

标签: python-3.x text pygame pong

我想知道是否可以将文本从txt文件显示到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

然而,我的尝试是所有的反复试验,因为我实际上不确定如何做到这一点...非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

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)