python - Pygame 从 .txt 文件中读取字符串,然后用作颜色错误
问题描述
我正在使用 pygame 为游戏制作背景绘图系统,并且由于每个场景有 1024 个单独的方块,我将附加到每个方块的颜色存储在 .txt 文件中,例如
square1 = BLACK
square2 = GREEN
等等。
当我使用此代码读取文件时
read = open("testgraphics.txt", "r")
xcoords = 0
ycoords = 0
for x in read:
if xcoords > 1024:
xcoords += 32
else:
ycoords += 32
print(x)
squarecolorformatting = x[-6:]
squarecolor = squarecolorformatting[:-1]
print(squarecolor) #This returns a string of just the color I want, e.g. BLACK
pygame.draw.rect(screen,squarecolor, [xcoords,ycoords,32,32])
#print(f.read())
Scene1Read = True
read.close()
我收到TypeError: invalid color argument
pygame.draw 行的错误。我知道我已经从我的文件中读取了一个字符串,但是我如何让 python 知道我希望我的字符串“BLACK”应用于我在程序开始时设置的颜色,当我这样做的时候BLACK = (0, 0, 0)
?
解决方案
您可以在前面的答案中看到如何在此处调查pygame.color.THECOLORS中 的颜色。
因此,如果您有一个在 pygames 预定义颜色中命名颜色的字符串,您可以像这样自己获取颜色:
BLACK = pygame.Color("black")
GREEN = pygame.Color("green")
请注意,颜色的名称是小写的。
推荐阅读
- android - Android移动网络数据平衡检查以编程方式
- html - 如何在使用搜索时获取选择框的数据并设置数据?
- google-api - Google Drive 中文件夹 ID 的格式是什么?
- android - Android Room:应用与嵌入对象相关的多个列
- ios - 使用泛型时无法调用 UIViewController 的非函数类型的值
- powershell - 移除导入的本地化数据
- eclipse - 有没有办法将智能插入添加到自定义 Eclipse 编辑器?
- reactjs - React Hooks - 改变孩子内部的状态不会反映在父母身上
- python - 使用堆栈溢出数据文件的熊猫数据帧
- html - 使用 flex-direction 列反向定位粘性