- Home /
Space Shooter error message
I keep getting this reference in Space Shooter
NullReferenceException: Object reference not set to an instance of an object Done_DestroyByContact.OnTriggerEnter (UnityEngine.Collider other) (at Assets/Done/Done_Scripts/Done_DestroyByContact.cs:39)
I got stumped when my laser pushed the Asteroid and itself off the screen.
My Asteroids are't getting destroyed. Need help. Triggers are set also
I have the same problem((( But did all by tutorial. Asteroids are't getting destroyed also. error text: NullReferenceException: Object reference not set to an instance of an object DestroyByContact.OnTriggerEnter (UnityEngine.Collider other) (at Assets/Scripts/DestroyByContact.cs:33)
And code of DestroyByContact:
using UnityEngine;
using System.Collections;
public class DestroyByContact : $$anonymous$$onoBehaviour { public GameObject explosion; public GameObject playerExplosion; public int scoreValue; private GameController gameController;
void Start()
{
GameObject gameControllerObject = GameObject.FindWithTag ("GameController");
if (gameControllerObject != null) {
gameController = gameControllerObject.GetComponent <GameController>();
}
if (gameController == null) {
Debug.Log ("Cannot find 'GameController' script");
}
}
void OnTriggerEnter(Collider other)
{
if(other.tag == "Boundary")
{
return;
}
if(other.tag == "Player")
{
Instantiate(playerExplosion, other.transform.position, other.transform.rotation);
}
Instantiate(explosion, transform.position, transform.rotation);
gameController.AddScore (scoreValue);
Destroy(other.gameObject);
Destroy(gameObject);
}
}
And code of GameController:
using UnityEngine; using System.Collections;
public class GameController : $$anonymous$$onoBehaviour { public GameObject hazard; public Vector3 spawnValues; public int hazardCount; public float spawnWait, startWait, waveWait;
public GUIText scoreText;
private int score;
IEnumerator SpawnWaves()
{
yield return new WaitForSeconds(startWait);
while(true)
{
for(int i = 0; i < hazardCount; i++)
{
Vector3 spawnPosition = new Vector3(Random.Range(-spawnValues.x, spawnValues.x), spawnValues.y, spawnValues.z);
Quaternion spawnRotation = Quaternion.identity;
Instantiate(hazard, spawnPosition, spawnRotation);
yield return new WaitForSeconds(spawnWait);
}
yield return new WaitForSeconds(waveWait);
}
}
void Start()
{
score = 0;
UpdateScore ();
StartCoroutine(SpawnWaves());
}
public void AddScore (int newScoreValue)
{
score += newScoreValue;
UpdateScore ();
}
void UpdateScore()
{
scoreText.text = "Score: " + score;
}
}
Please, Help)) Peace!
Answer by Hanov · Jun 12, 2014 at 05:56 AM
Well that error means that you are trying to interact with a Gameobject that has not been set either by code or in your inspector.
Check the line 39 in your Donne_DestroyByContact script, there you will see you are trying to do something with a variable of a game object, so what you need to do and havent done yet is set the variable to a game object. So after that select the object that has the script and in there you will see something is missing.
If thats not the case please share the code so we can see where the problem is.
Your answer
Follow this Question
Related Questions
Align Error Android APK build 2 Answers
Audio Fatal Error Crash 0 Answers
Faild to find:metroEnableLowLatencyPresentationAPI UnityEditor.HostView:OnGUI() for android platform 1 Answer
Unable to convert classes to dex format GoogleMobileAds SDK conflicting Facebook SDK 0 Answers
Cant Log In on Unity Hub 0 Answers