Ошибка типа: недопустимый цветовой аргумент & Для цикла - PullRequest
0 голосов
/ 20 марта 2020

Я получаю «недопустимый аргумент цвета», запускающий этот код:

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)

teamcolors - это список кортежей RGB, импортированных из файла CSV, который выглядит следующим образом:

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

и т. Д. В общей сложности 15 таких строк.

Два вопроса:

  1. как избежать ошибки неверного аргумента цвета?
  2. как я могу l oop через операторы draw.rect вместо того, чтобы делать их 1 на 1? Я не могу понять, как перебирать «button_1», «button_2», потому что это не позволит мне использовать переменную для номеров кнопок в ней.

1 Ответ

0 голосов
/ 24 марта 2020

У вас должен быть список кнопок.

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? Является ли teamcolors[0][1] подходящим значением Color?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...