“Object reference not set to an instance of an object
using UnityEngine; using System.Collections; using UnityEngine.UI;
public class PlayerScoreScript : MonoBehaviour {
[SerializeField]
public AudioClip coinClip, lifeClip;
private CameraScript CameraScript;
private Vector3 previousPosition;
private bool countScore;
public static int scoreCount;
public static int lifeCount;
public static int coinCount;
void Awake(){
CameraScript = Camera.main.GetComponent<CameraScript> ();
}
// Use this for initialization
void Start () {
previousPosition = transform.position;
countScore = true;
}
void Update () {
CountScore();
}
void CountScore (){
if(countScore){
if(transform.position.y < previousPosition.y){
scoreCount++;
}
previousPosition = transform.position;
GamePlayController.instance.SetScore (scoreCount);
}
}
// Update is called once per frame
void OnTriggerEnter2D(Collider2D target){
if(target.tag =="Coin"){
coinCount++;
scoreCount+=200;
AudioSource.PlayClipAtPoint(coinClip,transform.position);
target.gameObject.SetActive(false);
GamePlayController.instance.SetScore (scoreCount);
GamePlayController.instance.SetCoinScore (coinCount);
}
if(target.tag =="Life"){
lifeCount++;
scoreCount+=300;
AudioSource.PlayClipAtPoint(coinClip,transform.position);
target.gameObject.SetActive(false);
GamePlayController.instance.SetScore (scoreCount);
GamePlayController.instance.SetLifeScore (lifeCount);
}
if(target.tag=="Bounds"){
CameraScript.moveCamera=false;
countScore=false;
transform.position=new Vector3(500,500,0);
lifeCount--;
GamePlayController.instance.GameOverShowPanel(scoreCount, coinCount);
GameManager.instance.checkGameStatus (scoreCount, coinCount, lifeCount);
}
if(target.tag=="Deadly"){
CameraScript.moveCamera=false;
countScore=false;
transform.position=new Vector3(500,500,0);
lifeCount--;
GamePlayController.instance.GameOverShowPanel (scoreCount, coinCount);
GameManager.instance.checkGameStatus (scoreCount, coinCount, lifeCount);
}
} }
Answer by AurimasBlazulionis · Oct 25, 2016 at 12:49 PM
I believe the error is that a static variable instance
is not set to anything. In any GamePlayController
component, in Awake
method, call instance = this
i Did It public static GamePlayController instance;
[SerializeField]
public Text scoretext, cointext, lifetext, gameOverScoreText, gameOverCoinText;
[SerializeField]
public GameObject pausePanel, gameOverPanel;
[SerializeField]
public GameObject ReadyButton;
// Use this for initialization
void awake() {
$$anonymous$$akeInstance ();
}
void start(){
Time.timeScale =0f;
}
// Update is called once per frame
void $$anonymous$$akeInstance () {
if (instance = null) {
instance = this;
}
}
public void GameOverShowPanel (int finalScore, int finalCoinScore){
gameOverPanel.SetActive (true);
gameOverScoreText.text = finalScore.ToString ();
gameOverCoinText.text = finalCoinScore.ToString ();
StartCoroutine(GameOverLoad$$anonymous$$ain$$anonymous$$enu());
}
IEnumerator GameOverLoad$$anonymous$$ain$$anonymous$$enu(){
yield return new WaitForSeconds(3.0f);
Scene$$anonymous$$anager.LoadScene("$$anonymous$$ain$$anonymous$$enuScene");
}
public void PlayerDiedRestartTheGame(){
StartCoroutine (PlayerDiedRestart ());
}
IEnumerator PlayerDiedRestart(){
yield return new WaitForSeconds (1f);
Scene$$anonymous$$anager.LoadScene ("Gameplay");
}
public void SetScore(int Score){
scoretext.text = "x" + Score;
}
public void SetCoinScore(int CoinScore){
cointext.text= "x" + CoinScore;
}
public void SetLifeScore(int LifeScore){
lifetext.text = "x" + LifeScore;
}
public void PauseTheGame(){
Time.timeScale = 0f;
pausePanel.SetActive (true);
}
public void ResumeGame(){
Time.timeScale = 1f;
pausePanel.SetActive (false);
}
public void QuitGame(){
Time.timeScale = 1f;
Scene$$anonymous$$anager.LoadScene ("$$anonymous$$ain$$anonymous$$enuScene");
}
public void StartTheGame(){
Time.timeScale = 1f;
ReadyButton.SetActive (false);
}
}
It has to be Awake
, not awake
. Everything is case sEnsItiVe.
Yes I have changed now but The Same Problem
Your answer
Follow this Question
Related Questions
How do I make an object follow another regarding its rotation 0 Answers
Object reference not set to an instance of an object 2 Answers
Windows Mixed Reality UWP Compilation Error 0 Answers
How to Fix this issue 1 Answer
How do I fix a Null Reference Exception (object reference not set to an instance of an object)? 2 Answers