-2
所以我有一個腳本EnemySpawner。我試圖在每次敵人被摧毀時在那裏調用一個函數,這發生在我的射彈腳本中。我不斷收到這樣的:當向另一個腳本調用函數時引用空異常
的NullReferenceException:未設置爲一個 對象Projectile.OnTriggerEnter的一個實例(UnityEngine.Collider otherObject) (57在資產/腳本/ Projectile.cs)對象引用
繼承人什麼IM基本上是做在我彈腳本:
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腳本做什麼IM
public class EnemySpawner : MonoBehaviour { public void test() { Debug.Log ("CALLED"); } }
我在這裏丟失了什麼?
哇哦。這工作。 C#很奇怪,但我喜歡它。唯一的事情是現在我得到一個警告:你正在嘗試使用'new'關鍵字創建一個MonoBehaviour。這是不允許的。 MonoBehaviours只能使用AddComponent()添加。另外,你的腳本可以繼承ScriptableObject或者根本沒有基類。UnityEngine.MonoBehaviour:.ctor() EnemySpawner:.ctor() 子彈:OnTriggerEnter(Collider)(在Assets/Scripts/Projectile.cs:57) – Prof