类型错误:循环的颜色参数无效(&F)

2024-09-27 00:21:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到一个运行以下代码的“无效颜色参数”:

pygame.draw.rect(screen, teamcolors[0][1], button_1)
pygame.draw.rect(screen, teamcolors[1][1], button_2)
pygame.draw.rect(screen, teamcolors[2][1], button_3)
pygame.draw.rect(screen, teamcolors[3][1], button_4)

TeamColor是从csv文件导入的RGB元组列表,如下所示:

(50, 255, 255)
(0, 100, 225)
(200, 200, 0)
(0, 0, 150)

以此类推,总共有15条这样的线路

两个问题:

  1. 如何避免无效颜色参数错误
  2. 如何循环执行draw.rect语句而不是逐个执行它们?我不知道如何迭代“button_1”、“button_2”,因为它不允许我对其中的按钮编号使用变量

Tags: 文件csv代码rect列表参数颜色button
1条回答
网友
1楼 · 发布于 2024-09-27 00:21:25

你应该有一个按钮列表

buttons = [button_1, button_2, button_3, button_4]

for i in range(4):
    pygame.draw.rect(screen, teamcolors[i][1], buttons[i])

或者更好

for button, color in zip(buttons, teamcolors):
    pygame.draw.rect(screen, color[1], button)

至于为什么会出现无效的颜色错误,teamcolors到底是什么样子的是否为合适的Color

相关问题 更多 >

    热门问题