将函数调用到另一个脚本时出现Null Reference Exception

时间:2014-06-11 23:41:51

标签: c# unity3d nullreferenceexception

所以我有一个脚本EnemySpawner。我试图在每次敌人被摧毁时调用一个函数,这发生在我的抛射脚本中。我一直这样:

  

NullReferenceException:未将对象引用设置为的实例   object Projectile.OnTriggerEnter(UnityEngine.Collider otherObject)   (在Assets / Scripts / Projectile.cs:57)

这是我在弹丸脚本中基本上做的事情:

 public EnemySpawner enemyspawner;

void OnTriggerEnter(Collider otherObject)
{
        //do stuff
        Destroy(otherobject.GameObject);

        //call function
        enemyspawner.test();


         //i have also tried this
        //enemyspawner.GetComponent<EnemySpawner>().test();

        //and
         //EnemySpawner enen= new EnemySpawner();
        //enen.test();


}

继承人我在我的enemyspawner剧本中做了什么

public class EnemySpawner : MonoBehaviour {
public void test()
{
    Debug.Log ("CALLED");
}

}

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

你没有实例化 enemyspawner 。无需创建对象即可称之为方法。像

enemyspawner = new EnemySpawner();

在调用方法之前

enemyspawner.test();