当我按空格键时,如何激活计时器

时间:2014-09-29 19:13:50

标签: 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 () {
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"));
    }

1 个答案:

答案 0 :(得分:0)

好的,这样做

var spaceTrue:bool = false;

Update(){

if (Input.GetKeyDown("space")){
        print("space key was pressed");
        spaceTrue = !spaceTrue;

}

if(myTimer>0 && spaceTrue)
 myTimer-=Time.deltaTime;
}

以另一种方式执行它似乎玩家必须持续按住或按下按钮,因为每次都会调用更新,所以如果玩家没有按下空格按钮,它就不会进入那个状态, 我认为。这样Timer就会检查布尔值。因此,如果spaceTrue为true,则表示玩家按下按钮。如果他们再次击中制造假等等