Timer 当我按下空格键时,如何激活计时器
当我按空格键时,我的计时器不会像应该的那样启动。它出现在屏幕上,并且不会下降,除非我连续快速按下空格键多次,然后下降一秒钟,这很奇怪Timer 当我按下空格键时,如何激活计时器,timer,unity3d,unityscript,Timer,Unity3d,Unityscript,当我按空格键时,我的计时器不会像应该的那样启动。它出现在屏幕上,并且不会下降,除非我连续快速按下空格键多次,然后下降一秒钟,这很奇怪 #pragma strict var myTimer : float = 60.0; var fontSize: int = 100; public var guiSkin : GUISkin; var spaceTrue : boolean = false; function Start () { } function Update () { i
#pragma strict
var myTimer : float = 60.0;
var fontSize: int = 100;
public var guiSkin : GUISkin;
var spaceTrue : boolean = false;
function Start () {
}
function Update () {
if (Input.GetKeyDown("space")){
print("space key was pressed");
spaceTrue = !spaceTrue;
}
if(myTimer > 0 && spaceTrue){
myTimer -= Time.deltaTime;
}
}
//if(myTimer <= 0){
//Debug.Log("Game Over");
function OnGUI(){
GUI.skin = guiSkin;
GUI.Label(new Rect(250,150,50,20),"" + myTimer.ToString("0"));
//GUI.Label(new Rect(250,150,50,20),"" + myTimer.ToString("0"));
}
好吧,这样做怎么样
var spaceTrue:bool = false;
Update(){
if (Input.GetKeyDown("space")){
print("space key was pressed");
spaceTrue = !spaceTrue;
}
if(myTimer>0 && spaceTrue)
myTimer-=Time.deltaTime;
}
以另一种方式进行操作似乎玩家必须保持按住或按下按钮,因为更新将在每一帧调用,因此如果玩家没有按下空格按钮,我认为它不会进入那种状态。这样,计时器将检查布尔值。所以,如果spaceTrue为true,则表示玩家按下了按钮。如果他们再次点击makefalse,等我将布尔值更改为布尔值,因为它无法识别,但仍然不起作用。控制台没有给我任何错误,但在我的场景中它只是一个60。点击空格键只会更改检查器框,因为该变量是公共的。所以我知道它工作了一半,计时器没有启动。我觉得它有时间的奥多。deltaTime和它是如何在场景加载开始时不开始的。你觉得怎么样?哈哈,我成功了。我不知道为什么它以前不起作用,但现在起作用了。我把我在主帖子上的代码更新为工作代码