Не работает OnTriggerEnter

#unity3d #2d #unityscript

#unity-game-engine #2d #unityscript

Вопрос:

 public var enemy:GameObject;

enemy = GameObject.FindGameObjectWithTag("enemy");

function OnTriggerEnter(other:Collider)
{
   if(other.gameObject.tag == "enemy")
   {
      Debug.Log("Dead");
      Destroy(gameObject);
   }
}
  

Этот скрипт прикреплен к готовой стрелке, экземпляр которой создается. У противника есть кольцевой коллайдер, а у стрелка — прямоугольный коллайдер. Стрелка на isTrigger отмечена. Что я сделал не так? К обоим игровым объектам прикреплен rigidbobdy2D.

Ответ №1:

Если вы используете 2D-физический движок, вам необходимо использовать 2D-функции:

 function OnTriggerEnter2D(other: Collider2D) 
{
    if(other.tag == "enemy")
    {
        Debug.Log("Dead");
        Destroy(gameObject);
    }
}