游戏结束时停止计数并存储价值

时间:2016-02-18 14:53:13

标签: unity3d unityscript unity3d-ui

对于Unity3D中的新游戏,我创建了Javascript代码,允许在播放器播放时计算并在GUIText中显示值。

但我有一些问题。

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

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

这是脚本:

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

function Start () {

}

function Update () {

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

}

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

我该怎么做?

2 个答案:

答案 0 :(得分: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存储变量,然后在下一个场景中检索它,看看herehere < / p>

答案 1 :(得分: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();
    }

    }