如何使碰撞在Unity2D中正常工作?

时间:2019-07-11 16:30:00

标签: c# unity3d collision

我想使用统一碰撞系统消灭敌人,有时候必须运行良好,问题是当我有很多敌人时,屏幕上大约有30个。子弹刚好经过一些敌人。

我尝试过在RigidBody2D和BoxCollider2D上更改变量,这些变量设置为运动学并在连续碰撞时触发,但似乎没有任何作用

这是我在C#中的代码

public void CheckForEnemyCollisionWithArrows(GridMap gridMap)
{
    for (int i = 0; i < spawnedEnemies.Count; i++)
    {
        for (int j = 0; j < projectiles.Count; j++)
        {
            if (
                    spawnedEnemies[i].boxCollider.IsTouching(projectiles[j].boxCollider) 
                    && !IntMask.Query(spawnedEnemies[i].flag, (int)EnemyFlags.IS_DYING)
               )
            {
                spawnedEnemies[i].SetEnemyFlag(EnemyFlags.WAS_HIT_TO_DEATH);
                projectiles[j].wasDestroyed = true;
            }
        }
    }
}

0 个答案:

没有答案