当我按空格键时我的计时器不会激活,就像它应该的那样。它出现在屏幕上并且不会下降,除非我连续多次按空格键,然后它会下降一秒钟,这很奇怪。
#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"));
}
答案 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,则表示玩家按下按钮。如果他们再次击中制造假等等