我发现了很多关于pygame及其字体库的教程,但是它们都显示了相同的东西。它们都向你展示了如何在背景上写一些纯文本,这很好,但除此之外,我发现的有用信息并不多。在
在我正在进行的项目中,我有菜单按钮,我已经实现为精灵。当你将鼠标悬停在它们上面时,它们会改变颜色,这一切都很好。我想做的是在这些按钮上写文字,但我不知道怎么做。从文件中字体.渲染工作原理如下:
“这将创建一个新曲面,并在其上呈现指定的文本。Pygame没有提供在现有表面上直接绘制文本的方法:相反,您必须使用字体.渲染-在新表面上绘制文本,以创建文本的图像(曲面),然后将此图像blit到另一个曲面上。”
所以我试着拍下附在我的精灵上的图片,然后直接把我的文字放在上面。这似乎完全没有什么作用:
resume = self.button_font.render(
'Resume Game',
True,
constants.WHITE,
(23, 56, 245) # Main color of the button, tried without this as well
)
self.resume_button.image.blit(
resume,
self.resume_button.rect,
)
我知道代码在运行,但你永远看不到任何文本。如果我直接在主屏幕上显示文本,它只会写在我的简历按钮的顶部(当然取决于blit的顺序)。我做错什么了?文件似乎表明这是正确的处理方法,但我还没有找到其他人这样做。任何帮助都将不胜感激。在
你在你的^{} 表面调用了^{} ?如果没有,最好这样做。在
在你的表面上有不同的像素格式会导致各种恼人和难以理解的错误。在
示例:
这将导致以下错误:
输出:
^{pr2}$现在换线
到
一切都会好起来的:
输出:
相关问题 更多 >
编程相关推荐