Unity C中的文本不会更新#

时间:2016-12-01 20:03:43

标签: c# unity3d

我正在为我的项目设计游戏,不知何故,得分(文本)在动作后不会更新。它停留在0。

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

public class uiManager : MonoBehaviour {

public Text scoreText;
bool gameOver;
int score;

// Use this for initialization
void Start () {
    gameOver = false;
    score = 0;
    InvokeRepeating ("scoreUpdate", 1.0f, 0.5f);
}

// Update is called once per frame
void Update () 
{
    scoreText.text = "Point: " + score;
}

void scoreUpdate()
{
    if (gameOver == false) 
    {
        score += 1;
    }
}

public void gameOVER()
{
    gameOver = true;
}

public void Play()
{
    Application.LoadLevel ("MuachiJump");
}

void OnCollisionEnter2D(Collision2D col)
{
    if (col.gameObject.tag == "branch")
    {
        score += 1;
        Destroy(col.gameObject);
    }
}

我只想确定此代码中是否有任何错误?所有这些似乎都是正确的。

2 个答案:

答案 0 :(得分:3)

代码本身似乎很好。确保uiManager附加到场景中处于活动状态的对象。在Update方法中,如果添加,例如Debug.Log(score),则应每帧打印到日志。如果没有发生这种情况,则需要将脚本附加到场景中的对象,并确保Text对象具有有效的引用。

答案 1 :(得分:0)

您是否有活动对象并在场景中附加了脚本?