- Home /
NullReferenceException: Object reference not set to an instance of an object Plane.OnCollisionEnter2D (UnityEngine.Collision2D collision) (at Assets/Scripts/Plane.cs:37)
My Error Messages:
The referenced script on this Behaviour is missing!
The referenced script on this Behaviour (Game Object 'GameController') is missing!
NullReferenceException: Object reference not set to an instance of an object Plane.OnCollisionEnter2D (UnityEngine.Collision2D collision) (at Assets/Scripts/Plane.cs:37)
My Control Script: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement;
public class GameControl : MonoBehaviour {
 public static GameControl instance;
 public GameObject GameOverText;
 public bool GameOver = false;
 // Use this for initialization
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     else if (instance != this)
     {
         Destroy(this.gameObject);
     }
 }
 // Update is called once per frame
 void Update() {
 }
 public void PlaneDied()
 {
     GameOverText.SetActive (true);
     GameOver = true;
 }
}
My Player/Plane Script:
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class Plane : MonoBehaviour {
 public float upforce = 200f;
 private bool isDead = false;
 private Rigidbody2D rb2d;
 private Animator anim;
 // Use this for initialization
 void Start ()
 {
     rb2d = GetComponent<Rigidbody2D> ();
     anim = GetComponent<Animator> ();
 }
 // Update is called once per frame
 void Update()
 {
     if (isDead == false)
     { 
         if (Input.GetMouseButtonDown(0))
         {
             rb2d.velocity = Vector2.zero;
             rb2d.AddForce(new Vector2(0, upforce));
         }
     }
 }
 private void OnCollisionEnter2D(Collision2D collision)
 {
     isDead = true;
     anim.SetTrigger("Die");
     GameControl.instance.PlaneDied ();
 }
}
Is anim and GameOverText set? also use lazy ins$$anonymous$$d for your instance in combination with GetComponent<GameControl>():
 private GameControl _instance;
 public GameControl instance 
 { get {
 if (_instance != null) return _instance;
 _instance = this;
 return _instance;
 }
 }
No need for the awake method
Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                