错误 pygame:参数必须是一系列 rectstyle 对象
Error pygame: Argument must be a sequence of rectstyle objects
您好,我正在尝试使用 pygame 制作一个简单的 2d 汽车游戏,我正在尝试添加两辆汽车之间的碰撞,但我不断收到此错误:
Traceback (most recent call last):
File "C:\Users\emilio pinto\Desktop\Running car proj\Running car.py", line 69, in <module>
if pygame.Rect.collidelist(car1,car2) >= 0:
TypeError: Argument must be a sequence of rectstyle objects.
我很确定我一直在很好地使用 .Rect 模块,无论如何,这些是变量以及我如何尝试使用它们:
car1=pygame.Rect((xCar, yCar), (60, 30))
car2=pygame.Rect((xCar2, yCar2), (60, 30))
if pygame.Rect.collidelist(car1,car2) >= 0:
running=False
screen.fill((0,0,0))
screen.blit(loseText, (142, 90))
screen.blit(loseText2,(110, 170))
pygame.display.flip()
if keys[pygame.K_SPACE]:
running=True
continue
这应该可以解决您的问题:
if pygame.Rect.colliderect(car1,car2) >= 0:
解释:
您使用了错误的函数,或者该函数的参数错误。
对两个对象使用Rect.colliderect
:
https://www.pygame.org/docs/ref/rect.html#pygame.Rect.colliderect
或使用 Rect.collidelist
获取对象列表。因此,您必须将 car1
和 car2
放在列表对象中。
https://www.pygame.org/docs/ref/rect.html#pygame.Rect.collidelist
您好,我正在尝试使用 pygame 制作一个简单的 2d 汽车游戏,我正在尝试添加两辆汽车之间的碰撞,但我不断收到此错误:
Traceback (most recent call last):
File "C:\Users\emilio pinto\Desktop\Running car proj\Running car.py", line 69, in <module>
if pygame.Rect.collidelist(car1,car2) >= 0:
TypeError: Argument must be a sequence of rectstyle objects.
我很确定我一直在很好地使用 .Rect 模块,无论如何,这些是变量以及我如何尝试使用它们:
car1=pygame.Rect((xCar, yCar), (60, 30))
car2=pygame.Rect((xCar2, yCar2), (60, 30))
if pygame.Rect.collidelist(car1,car2) >= 0:
running=False
screen.fill((0,0,0))
screen.blit(loseText, (142, 90))
screen.blit(loseText2,(110, 170))
pygame.display.flip()
if keys[pygame.K_SPACE]:
running=True
continue
这应该可以解决您的问题:
if pygame.Rect.colliderect(car1,car2) >= 0:
解释:
您使用了错误的函数,或者该函数的参数错误。
对两个对象使用Rect.colliderect
:
https://www.pygame.org/docs/ref/rect.html#pygame.Rect.colliderect
或使用 Rect.collidelist
获取对象列表。因此,您必须将 car1
和 car2
放在列表对象中。
https://www.pygame.org/docs/ref/rect.html#pygame.Rect.collidelist