我在包括这个论坛在内的许多论坛上搜索过,我看不出为此找到任何答案。给我的许多解决方案看起来像这样:
void keyPressed(){
if (key == 'e'){
t = millis();
}
}
void keyReleased(){
if (key == 'e'){
t = millis()-t;
println(t);
}
}
这是不正确的,因为当我握住钥匙时,按键功能会连续调用Millis((。因此,当键发布时,记录的时间打印一个接近零!
的数字如何仅使键为呼叫millis((一次?
您可以使用一个boolean
跟踪您是否已经设置了值。这样的东西:
boolean recorded = false;
void keyPressed(){
if (key == 'e' && !recorded){
t = millis();
recorded = true;
}
}