Python: прямоугольный аргумент недействителен - PullRequest
1 голос
/ 01 февраля 2020

Привет, я пытаюсь выучить python, но я застрял с этой проблемой, когда я запускаю свою программу, она говорит, что прямоугольный аргумент недействителен, это мой код:

import pygame
pygame.init()

win = pygame.display.set_mode((500,500))

pygame.display.set_caption("First game")

x = 50
y = 50
width = 40
height = 60
vel = 5

run = True
while run:
    pygame.time.delay(100)

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

    pygame.draw.rect(win, (255, 0, 0),(x, y, width, height, vel))
    pygame.display.update()

pygame.quit()

Ошибка :

Traceback (most recent call last):
 File "...", line 25, in <module>
   pygame.draw.rect(win, (255, 0, 0),(x, y, width, height, vel))
TypeError: Rect argument is invalid

1 Ответ

3 голосов
/ 01 февраля 2020

Третий аргумент pygame.draw.rect должен быть кортежем из 4 элементов:

pygame.draw.rect(win, (255, 0, 0),(x, y, width, height, vel))

pygame.draw.rect(win, (255, 0, 0),(x, y, width, height))

В качестве альтернативы это может быть также pygame.Rect объект:

rect = pygame.Rect(x, y, width, height)
pygame.draw.rect(win, (255, 0, 0), rect)
...