python-2.7 - 如何阻止 pygame 显示不需要的文本符号?
问题描述
我目前正在开发一款游戏,在我的暂停屏幕上,我让它使用我的绘图文本功能来显示“暂停”以及我的库存中的内容(一个包含“拾取”字符串的列表)。当它绘制我的库存文本时,它会像符号一样显示这些框,看起来像“你有:[]'key'[]”我尝试使用 string.strip() 删除这些 [] [],但无济于事. 谁能告诉我为什么这样做以及如何解决它? 这是我渲染的字符串。
if (self.paused):
self.screen.blit(self.dim_screen, (0, 0))
self.draw_text("Paused", self.title_font, 105, RED, WIDTH / 2,
HEIGHT / 2, align="center")
self.draw_text("You have:{}".format(self.inv), self.title_font, 30,
GREEN, 50, HEIGHT - 50, align="nw")
pg.display.flip()
编辑:似乎 .format 的 {} 是导致我删除它们的块的原因,以查看它是否会正确呈现 self.draw_text("You have:" + self.inv... 虽然它无法连接,但块消失了。我还更改了字体,它从块更改为括号
解决方案
看起来您的字体无法渲染[
或]
. 尝试替换您的draw_text()
论点:
self.draw_text("You have: " + ", ".join(self.inv), self.title_font, 30,
GREEN, 50, HEIGHT - 50, align="nw")
例如
>>> inv = ["key", "knife"]
>>> "You have:{}".format(inv)
"You have:['key', 'knife']"
>>> "You have " + ", ".join(inv)
'You have key, knife'
推荐阅读
- python - 如何在 OpenCV 中指定轨迹栏的宽度和位置?
- c# - 两个表之间的合并(由 IEnumerable 表示
>) 具有不同的列 - node.js - user.findOne 不是函数
- configuration - Doxygen 项目简介不包括空格
- node.js - 包含至少一个在对象中指定的过滤器的 MongoDB 查询
- java - java无效的流头字节[]数组
- r - 使用用户定义的函数在 Expss 表中动态传递参数
- android - 无法在 Android 应用程序(SQLite)的表中插入值
- python - 在可变大小的矩形中重复纹理
- android - 如何使用新的 PackageInstaller api 卸载 android 应用程序?