【发布时间】:2013-12-24 21:04:07
【问题描述】:
我一直在学习如何在 pygame 中输入文本,然后将文本保存到我现在学习的文件中,这样就完成了。现在我正在寻找如何将文件中的文本显示到屏幕上。我尝试将文本文件传送到屏幕上,并尝试创建一个要显示的变量。这些都没有奏效。我正在尝试在屏幕左上角显示文本文件。
我将如何制作它以便我可以制作它,以便在保存名称时下一组名称将位于文本文件的下方。
【问题讨论】:
标签: python python-2.7 pygame
我一直在学习如何在 pygame 中输入文本,然后将文本保存到我现在学习的文件中,这样就完成了。现在我正在寻找如何将文件中的文本显示到屏幕上。我尝试将文本文件传送到屏幕上,并尝试创建一个要显示的变量。这些都没有奏效。我正在尝试在屏幕左上角显示文本文件。
我将如何制作它以便我可以制作它,以便在保存名称时下一组名称将位于文本文件的下方。
【问题讨论】:
标签: python python-2.7 pygame
使用pygame.font.Font.render(text, antialias, color, background=None),如Pygame documentation 中所述。这将返回一个 pygame.Surface 实例,可以使用以下方式将其绘制到屏幕上:
screen = pygame.display.set_mode(...)
myFont = pygame.font.SysFont("Times New Roman", 12)
...
screen.blit(myFont.render("Hello", True, (255,0,0)), (0,0))
请注意,此函数仅呈现单行文本。要渲染多条线,您必须分别渲染它们并自己在屏幕的不同部分绘制它们。 pygame.font.Font.size 和 pygame.font.Font.get_height 方法可以帮助您决定每条渲染线的间距。
要在文件的现有内容上方插入一行文本,您应该:
list.insert(0, ...
【讨论】:
pygame.font.Font.render,或者您是否将其内容读入字符串,然后将该字符串传递给render 方法?