如何对同一组内的多个敌人进行碰撞

问题描述 投票:-1回答:1

我正在尝试制作类似于《以撒的绑定》的游戏。我希望敌人跟随玩家(成功完成),但是问题是,当他们这样做时,他们最终会互相进入对方。我无法成功确保他们没有这样做。

我在下面尝试过的代码可以正常工作,但是不正确。

for enemy in enemyGroup:

    enemyGroup2 = pygame.sprite.Group.copy(enemyGroup)
    enemyGroup2.remove(enemy)
    enemyCollisionList = pygame.sprite.spritecollide(enemy, enemyGroup2, False)

    for enemy in enemyCollisionList:


        for enemy in enemyGroup2 and enemyCollisionList:
            enemy.rect.y -= 5
            enemyCollisionList.remove(enemy)
python pygame
1个回答
0
投票

您可以尝试像这样使它们彼此“反弹”:

 for enemy in enemyGroup2 and enemyCollisionList:
            enemy.rect.y *=-1
            enemy.rect.x*=-1
            enemyCollisionList.remove(enemy)
© www.soinside.com 2019 - 2024. All rights reserved.