0

对于我在 Unity3D 中的新游戏,我创建了 Javascript 代码,允许在玩家玩游戏时进行计数并在 GUIText 中显示值。

但我有一些问题。

在游戏中,计数开始,GUIText 显示计数值。但是当我结束游戏时,计数并没有停止。

在退出场景中,显示游戏场景计数值的 GUIText 从 0 重新开始,并没有停止。

这是脚本:

var Counter : int = 0;
var score : GUIText;

function Start () {

}

function Update () {

  Counter++;
  score.text = Counter.ToString();

}

所以我想做的是在游戏结束时停止计数,并将值存储在下一个场景中,GUIText 显示最终值。

我怎样才能做到这一点?

4

2 回答 2

0

您应该需要在游戏结束事件中使用变量状态来限制计数器增量。(我不知道你的游戏结局如何)

    var Counter : int = 0;
    var score : GUIText;
    var isGameOver = false; //true this variable as your gameover
    function Start () {

    }

    function Update () {
    //isGameOver variable to check that  the game is over or not
    if(!isGameOver){
      Counter++;
      score.text = Counter.ToString();
    }

    }
于 2016-11-21T06:28:53.807 回答
0

尝试这个:

private var isFinished : boolean = false;

var Counter : int = 0;
var score : GUIText;

function Start () {

}

function Update () {

  if(!isFinished){
      Counter++;
      score.text = Counter.ToString();
  }

  if ("something that makes the game stop") {
       isFinished = true;
  }
}

然后将变量传递到下一个场景,您可以使用PlayerPrefs存储变量,然后在下一个场景中检索它,看看这里这里

于 2016-02-18T15:03:24.923 回答