【问题标题】:How to display the Timer Countdown on the Screen如何在屏幕上显示计时器倒计时
【发布时间】:2014-09-15 18:41:15
【问题描述】:

//一个简单的倒计时

var myTimer : float = 5.0;

function Update () {
 if(myTimer > 0){
  myTimer -= Time.deltaTime;
 }
 if(myTimer <= 0){
  Debug.Log("GAME OVER");
 }
}

这是一个倒计时脚本,我只想让它在倒计时时显示在屏幕上。

【问题讨论】:

  • 我认为你不能在 JavaScript 中使用 var myTimer : float。是什么触发了您的Update 功能?
  • @putvande Update 是 Unity 游戏引擎中最重要的函数之一,每帧都会调用。

标签: unity3d unityscript


【解决方案1】:

把它放在OnGUI()之类的

function OnGUI () {
    GUI.Label (Rect (10,10,150,100), myTimer.ToString());
}

【讨论】:

  • myTimer 是浮点数,不是字符串!
  • 我怎样才能把它变成一个字符串?
  • 哦,是的,添加 .ToString()
【解决方案2】:

您可能还希望在 Update() 方法之外使用它,并且仅在必要时运行逻辑。这可以通过使用像这样 (C#) 的 InvokeRepeating 方法来完成:

float myTimer = 5.0f;

void Start() {
    InvokeRepeating( "DecreaseTime", 1, 1 ); // Called every second
}

void DecreaseTime() {
    myTimer--;
}

void onGUI() {
    GUI.Label(new Rect(10,10,400,90), "myTimer = " + myTimer );
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-01
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-16
    • 1970-01-01
    相关资源
    最近更新 更多