Espero que lo estás haciendo bien. Estoy trabajando en un minijuego basado en JS y quiero evitar que el usuario dispare balas infinitas, así que creé esta condición. Que solo funciona la primera vez y luego se rompe para los siguientes clics
también para mencionar que toda esta sección está dentro del ciclo, por lo que disparar funciona bien con o sin setInterval
let shootController = true canvas.addEventListener("click", () => { if (shootController) { //shooting code goes here shootController = false; } }); if (shootController === false) { setInterval(() => { shootController = true; }, 1000); }Gracias por sus respuestas de antemano
De alguna manera, definí el 'setInterval' antes y fuera del bucle y luego llamé a esa función debajo y fuera. Este FUNCIONA
Pero por curiosidad, no lo definí en la parte superior como una función y solo lo usé debajo del ciclo. Este no funcionó.
El problema está resuelto, pero no sé por qué.