Gui Text问题没有出现

时间:2015-07-05 17:41:46

标签: c# unity3d

我目前在团结中遇到Gui Text的问题5.我想要得到的是得分出现在屏幕上。评分系统有效,因为我有一个Debug.Log输出告诉我它有效,但Gui Text没有显示,但是如果我只是在文本框中输入它。

using UnityEngine;
using System.Collections;

public class Score : MonoBehaviour {

    public static int myScore;
    public bool allowScore = false;
    public GUIText myText;

    //only allows score to start when first object has passed player object
    void OnTriggerEnter2D(Collider2D collisionObject) {
    allowScore = true;
    }

    //add 1 to score every switch
    void Update () {

        if (Input.GetMouseButtonDown (0) && allowScore == true) {
            myScore = myScore + 1;
            Debug.Log ("My score is " + myScore + " point(s)");
        }

        //GUI text for screen
        myText.text = "Score: " + myScore.ToString();
    }
}

1 个答案:

答案 0 :(得分:0)

除非这是一个拼写错误,否则你有一行代码有两个相同的符号:

myText.text = "Score: " = myScore.ToString();

我猜你要做的就是让它说得分:然后显示得分。要做到这一点,只需将第二个更改为加号。

myText.text = "Score: " + myScore.ToString();

同样只是一个有用的提示,在代码行myScore = myScore + 1;上,您只需myScore++;,如果您希望在某个点添加多个,可以说{{1} }。 myScore += amountToAdd表示您希望它等于自身加上等式的另一侧,+=只是意味着为它添加1。

编辑:回复评论
当您尝试将值分配给系统中未分配的变量时,会发生NullReferenceExceptions。如上所述,在您的代码中,您声明了变量++,然后您尝试更改此对象文本,但是,您的代码中没有任何地方说明public GUIText myText等于什么。因此,当您调用myText时,它会尝试设置不存在的(null)变量的文本。要解决此问题,在Unity中退出代码后,在检查器中,您将能够看到附加到对象的代码。在该脚本组件中,您将看到变量myText.text,将带有GUIText组件的GameObject从您的层次结构拖到该插槽中。

My image...