从配置文件中读取颜色以在Pygame中使用

1 投票
1 回答
1100 浏览
提问于 2025-04-15 22:06

在配置文件中,我定义了一个变量:

BackgroundColor = 0,0,0

这个变量应该可以用在Pygame的screen.fill设置上,或者任何颜色参数上。也就是说,我可以直接用screen.fill(0,0,0)来填充颜色。

我觉得问题出在这里:对于通过configfile读取的整数,我需要用int()来把字符串转换成整数。但是对于颜色这种情况,整数转换就不管用了,我不知道该用什么。

TypeError: invalid color argument

这是Python给出的错误信息。

1 个回答

2

你有一个表示颜色的字符串,比如 '0,0,0'。你可以用 split(',') 方法把它分成几个部分,然后把每个部分转换一下。

比如:

color = '255, 255, 255'
red, green, blue = color.split(',')
red = int(red)
green = int(green)
blue = int(blue)

或者如果你想一步到位,而且不介意用列表推导式的话:

color = '128, 128, 128'
red, green, blue = [int(c) for c in color.split(',')]

撰写回答