【发布时间】:2016-07-29 05:12:51
【问题描述】:
所以我正在尝试为我在 PyGame 中使用 python 制作的游戏制作菜单屏幕,除了屏幕本身的实际图像外,一切正常。我正在制作的游戏是基于文本的,当我在屏幕上用 _ 字符对一行文本进行 blit 时,它会被替换为一个空格。如果它不在空格或另一个_上,则不会发生这种情况。我确保我的字符串工作正常,它似乎只与 screen.blit() 命令的 font.render() 命令有关。我想知道是否有一些奇怪的功能可以防止某些符号被正常渲染或 blitted。感谢你给与我的帮助。 *注意:这仅适用于多行字符串渲染,请参阅代码了解我如何做到这一点。我分别渲染每一行,然后在它们全部渲染后更新屏幕。
lines = multi_line_text.split("\n")
tempplace = 0
place = 5#starting pixel positioning
while tempplace != len(lines):
text = font.render(lines[tempplace], False, white, black)
game_window.blit(text, (5, place))
place = place + 15#Pixel positioning increment
tempplace = tempplace + 1
【问题讨论】:
-
你能不能展示你运行时得到的结果
print(multi_line_text) -
我的意思是你想添加的任何多行字符串,我试图让问题保持一般性。
-
您通过从上到下对整个矩形进行 blitting 来绘制线条。我敢打赌,您正在用下一个矩形覆盖下划线。要解决此问题,请增加线条之间的垂直距离。
标签: python pygame text-rendering