Unity HighScore奖牌像飞扬的鸟一样

时间:2016-07-09 01:24:46

标签: c# unity3d

我在我的游戏中添加奖章像飞鸟一样,一切正常,然后我就停止了,不知道该怎么办它给了我一个错误信息

NullReferenceException:未将对象引用设置为对象的实例 ScoreManager.Start()(在Assets / scripts / ScoreManager.cs:27)

我检查了代码行,他们一直工作正常,但代码相同。

但是,如果我删除该对象,它会告诉我下一个不正确的

分数脚本

 using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class ScoreManager : MonoBehaviour
{


    private float score = 0f;
    public Text Scoretext;
    public MenuController deathmenu;
    public GameObject IntroGUI, DeathGUI, Canvas;
    private GameObject bronze;
    private GameObject bronzesilver;
    private GameObject silver;
    private GameObject silvergold;
    private GameObject gold;
    void Start()
    {
        bronze = GameObject.Find("bronze");
        bronzesilver = GameObject.Find("bronzesilver");
        silver = GameObject.Find("silver");
        silvergold = GameObject.Find("silvergold");
        gold = GameObject.Find("gold");


        bronze.GetComponent<Image>().enabled = false;
        bronzesilver.GetComponent<Image>().enabled = false;
        silver.GetComponent<Image>().enabled = false;
        silvergold.GetComponent<Image>().enabled = false;
        gold.GetComponent<Image>().enabled = false;
    }



    void Update()
    {
        //handle back key in Windows Phone
        if (Input.GetKeyDown(KeyCode.Escape))
            Application.Quit();

        if (GameStateManager.GameState == GameState.Intro)
        {
            if (WasTouchedOrClicked())
            {
                GameStateManager.GameState = GameState.Playing;
                IntroGUI.SetActive(false);
                Canvas.SetActive(true);

            }
        }

        else if (GameStateManager.GameState == GameState.Playing)
        {


            score += Time.deltaTime;
            Scoretext.text = ((int)score).ToString();

            if (PlayerPrefs.GetFloat("Highscore") < score)
                PlayerPrefs.SetFloat("Highscore", score);



            if (score > 2)
            {
                bronze.GetComponent<Image>().enabled = true;
            }
            if (score > 4)
            {
                bronzesilver.GetComponent<Image>().enabled = true;
            }
            if (score > 7)
            {
                silver.GetComponent<Image>().enabled = true;
            }
            if
               (score > 9)
            {
                silvergold.GetComponent<Image>().enabled = true;
            }
            if
                (score > 12)
            {
                gold.GetComponent<Image>().enabled = true;
            }

            deathmenu.ToggleEndMenu(score);


        }
    }




        void FixedUpdate()
    {
            //just jump up and down on intro screen
            if (GameStateManager.GameState == GameState.Intro)
            {

            }
            else if
            (GameStateManager.GameState == GameState.Playing || GameStateManager.GameState == GameState.Dead)
            {

        }
        }

        bool WasTouchedOrClicked()
    {
            if (Input.GetButtonUp("Jump") || Input.GetMouseButtonDown(0) ||
             (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began))
                return true;
            else
                return false;
        }

        void OnCollisionEnter2D(Collision2D col)
    {
            if (GameStateManager.GameState == GameState.Playing)
            {
                if (col.gameObject.tag == "CARS")
                {




                PlayerDies();
                }
            }
        }




    void PlayerDies()
    {

        GameStateManager.GameState = GameState.Dead;

        DeathGUI.SetActive(true);

    }
}

And image of my Hierarchy

0 个答案:

没有答案
相关问题