对于Unity3D中的新游戏,我创建了Javascript代码,允许在播放器播放时计算并在GUIText中显示值。
但我有一些问题。
在游戏中,计数开始和GUIText显示计数的值。 但是当我来到游戏结束时,计数并没有停止。
在退出场景中,GUIText显示游戏场景的计数值,从0重新开始并且不会停止。
这是脚本:
var Counter : int = 0;
var score : GUIText;
function Start () {
}
function Update () {
Counter++;
score.text = Counter.ToString();
}
所以我想做的是在游戏结束时停止计数,并将值存储在下一个场景中,GUIText显示最终值。
我该怎么做?
答案 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
存储变量,然后在下一个场景中检索它,看看here和here < / 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();
}
}