Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在定时循环中检测按钮按下_Java_Loops_Button_Timer - Fatal编程技术网

Java 如何在定时循环中检测按钮按下

Java 如何在定时循环中检测按钮按下,java,loops,button,timer,Java,Loops,Button,Timer,我是Java的初学者,正在努力练习我的技能。我正在尝试创建一个游戏,要求玩家在一定时间内反复按下按钮。我想做一些类似的事情来生成一个特定的键,比如空格键,在特定的时间内被按下了多少次,例如,30秒 while(time!=0){ //amount of time if (isPressing("w")){ buttonPressed ++; } //decrements amount of time } 最后,一旦时间用完,我想退出循环并返回按钮被按下的次数。我不

我是Java的初学者,正在努力练习我的技能。我正在尝试创建一个游戏,要求玩家在一定时间内反复按下按钮。我想做一些类似的事情来生成一个特定的键,比如空格键,在特定的时间内被按下了多少次,例如,30秒

while(time!=0){
//amount of time
    if (isPressing("w")){
    buttonPressed ++;

    }
//decrements amount of time  
}

最后,一旦时间用完,我想退出循环并返回按钮被按下的次数。我不确定如何真正做到这一点,因为我发现计时器是循环的,以重复一个间隔的行动。有人能帮我指点方向吗?

您可以通过以下方式以毫秒为单位获得时间:

以30秒为例,您可以执行以下操作:

long time = System.currentTimeMillis();
while(System.currentTimeMillis() - time < 30000){//30000 is 30 seconds in milliseconds
    if (isPressing("w")){
        buttonPressed ++;
    }
}
long time=System.currentTimeMillis();
而(System.currentTimeMillis()-time<30000){//30000是以毫秒为单位的30秒
如果(显示(“w”)){
按钮按下++;
}
}

它将通过比较每次迭代后的开始时间来工作。

要更快地获得更好的帮助,请发布或。