Hello! So basically I have programmed a breakout game. I made a pause feature going, but it’ll break if it’s spammed (and practically anything will break if spammed, but this pause feature is like a critical component to the game and it has to be like semi-flawless (since nothing is ever flawless irl tbh).
I have a few solutions to prevent spamming keys: making my own setTimeout or setInterval and clearInterval to regulate between times. OR
Although, I did try the setTimeout stuff, but I am sorta new to java and processing itself, but i’m willing to learn and I need in-depth explanations.
Part of my code:
//size is 480 by 480
public boolean run = true;
void keyReleased(){
[Redacted]
if(!isGameOver){ //remove IF condition for your sake
if(key == 'p'){
run = !run;
if(run == true){
fill(211, 211, 211, 255);
rect(0, 0, 480, 480);
println("bg music plays"); //backgroundMusic.play();
}
if(run == false){
fill(211, 211, 211, 100);
rect(0, 0, 480, 480);
println("bg music pauses"); //backgroundMusic.pause();
fill(0);
text("Press P to unPause!", 130, 300);
}
}
}
}
Key Question: Is there an efficient or non-efficient way, yet simple method to regulate the spamming of the keys per KeyReleased()?
I want the spamming to halt since it will enable players cheating, if you spam P to pause and move the mouse to move the paddle, (as there’s a slight second for the game to be resumed, but really should only resume until 2-3 seconds or 2000/3000 ms.