在我正在制作的游戏中,我试图让同一列表中的敌人不会相互碰撞。我用来尝试让它工作的代码在这里:
for m in self.meteors:
if pygame.sprite.collide_rect(m, m):
self.velX = 0
else:
self.velY = 0
我不知道为什么这不起作用。它询问两个流星是否发生碰撞并且在那里停止X速度或Y速度。任何帮助将不胜感激,谢谢。
答案 0 :(得分:0)
你不应该使用双循环吗?
for index1, meteor1 in enumerate(self.meteors):
for index2, meteor2 in enumerate(self.meteors):
if index1 != index2:
if pygame.sprite.collide_rect(meteor1, meteor2):
self.velX = 0
else:
self.velY = 0