【问题标题】:Stop count when game over and store value游戏结束时停止计数并存储价值
【发布时间】:2016-02-18 14:53:13
【问题描述】:

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

但我有一些问题。

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

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

这是脚本:

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

function Start () {

}

function Update () {

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

}

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

我该怎么做?

【问题讨论】:

  • 两年前我做过unity3d,不记得方法了。维护某种布尔变量以跟踪游戏状态并仅在该变量设置为 true 时显示分数。因此,当您游戏结束时,变量的状态将变为 false,因此记分板将永远不会出现。 IE。 if(!gameover){//show score} 在你的 onGUI 方法中
  • 我把这行代码放在哪里了?
  • 我猜有一个名为onGuI 的函数,您可以在其中显示您的分数。只有在游戏没有结束时你才需要显示分数..分享你的代码,以便我可以帮助你
  • @Ophélia ,不要使用“遗留”的 gui 系统。这是行不通的。你完全是在浪费时间。好消息是使用普通的 UI 系统超级好用。 (1) 点击“添加 UI 画布” (2) 点击“添加 UI 文本”。你完成了。你可以找到一百万个教程等等。这很容易

标签: unity3d unityscript unity3d-ui


【解决方案1】:

试试这个:

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

【讨论】:

  • 嘿,谢谢你的回复。我不明白计数器何时停止在脚本中? (我有错误 BCE0043 意外令牌:bool)
  • @Ophélia 这似乎是答案中的语法错误,使用 C# 而不是 UnityScript 变量。编辑答案以解决此问题。
  • @Serlite 抱歉,我用 C# 编写代码,所以它很自然!代码现在应该可以工作了!
  • 非常感谢!但我可以使用 PlayerPrefs 吗?存储值并在另一个场景中显示。
  • 是的,我会这样做,但之前的脚本不起作用...我仍然遇到同样的问题,我不知道如何解决。
【解决方案2】:

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

    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();
    }

    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多