如何检测游戏对象是否超出重叠范围

时间:2016-01-26 17:04:20

标签: c# unity3d

我正在为一个游戏对象拍摄一个范围。它可以检测游戏对象何时加入范围,但没有检测到游戏对象超出范围。如果可能,我想知道如何检测敌人是否超出范围。感谢您的帮助。

  

检测敌人的示例代码。

Collider[] hitNpcs = Physics.OverlapSphere(TowerPoint.transform.position, Range);

    for (int i = 0; i < hitNpcs.Length; i++)
    {
        if (hitNpcs[i].GetComponent<Npc>() != null)
        {
             hitNpcs[i].GetComponent<NpcHP>().dmg(Power);
             Debug.Log("Shoot");
             break;
        }
    }

1 个答案:

答案 0 :(得分:1)

注意 :这假设您的Npc附加了RigidBody个组件。

不是使用Physics.OverlapShere,而是在TowerPoint GameObject上创建一个球形对撞机,然后您可以使用OnCollisionExit方法检测离开该范围的npcs。