2016-12-08 4 views
-5

В настоящее время я работаю над оптимизацией Swarm Optimization SwM, используя pygame для визуализации. В настоящее время при обработке данных я получаю ошибку в нем по параметру прямоугольника.Ошибка Pygame в Python 2.7

Это код:

pygame.draw.rect(self.screen, (255,0,0), (x - size, y - size, size*2, size*2)) 

и:

TypeError: Rect argument is invalid.

+0

У вас есть только три аргумента, вы должны добавить далее аргумент для толщины , http://stackoverflow.com/questions/22991300/pygame-draw-rect-has-invalid-parameters – Will

+0

@Will Ширина - необязательный аргумент, который по умолчанию равен 0 (который заполнит прямоугольник). http://www.pygame.org/docs/ref/draw.html#pygame.draw.rect –

+0

Попробовал реплицировать ошибку в Python 2.7.10 и pygame 1.9.2b6, но не смог. Проблема должна либо зависеть от вашей версии, либо вы указали неверные сообщения об ошибках. Чтобы легче найти ответ, вы должны опубликовать свою версию pygame, а также [mcve]. –

ответ

0

Вы, кажется, включили аргументы поверхности и цвет, но ваш прямоугольник является недействительным, поскольку вы создаете свой прямоугольник на лету , давая аргументы прямого инициирования.

Что вы должны сделать, это:

rect = pygame.rect((50,50), (25,60)) # X, Y, Width and Height 
pygame.draw.rect(self.screen, (255,0,0), rect) 

Вот, взгляните на Pygame вики about draw, если вам нужно больше информации

Смежные вопросы