我按照使用 pygame 的简单跑步游戏教程进行操作并使其正常工作。于是我就用自己的性格和自己设置的障碍再去尝试一下。但由于某种原因,精灵似乎彼此相距很远发生碰撞,导致游戏结束。我不确定为什么会发生这种情况,因为我正在使用 pygame 精灵碰撞。有没有可能精灵被搞乱了?我还调整了它们的大小,所以我不确定这是否会导致问题。
我尝试将精灵放在教程中的其他代码中,但发生了同样的问题。
def collision_sprite():
if pygame.sprite.spritecollide(player.sprite, obstacle_group, False):
obstacle_group.empty()
return False
else:
return True
根据 documentation,“交集是通过比较每个 Sprite 的 Sprite.rect 属性来确定的”。你的精灵矩形属性一定是错误的。