Делаю игру, есть такая функция
const GuardAttack = () => {
let isFly = true
ctx.drawImage(bull,bas.x,bas.y)
if(isFly)bas.x+=10
console.log(guard.alert)
world.push(bull)
if ((bas.x + bull.width >= agent.x) && (bas.x <= agent.x + agentImg.width) && (bas.y + bull.height >= agent.y) && (bas.y
<= agent.y + agentImg.height)){
guard.alert= false
isFly = false
agent.y+=200
bas.x= 0
bas.y = 0
isFly = true
console.log(agent.health)
if(agent.health >= 0) {
console.log("он попал")
return agent.health-=1
}
let av = document.querySelector("#fail")
av.play()
agent.y += 300
agentImg.src = "agent_dead.png"
bas.x = 0
}
}
Эта функция работает, если guard.alert == true, собственно, так и сделана проверка, надо ли стрелять. Так вот, если игрок встанет так, что параметр guard.alert станет true, он выстрелит, но только один раз, а чтоб выстрелил второй, нужно сделать параметр guard.alert сначала false а потом true. Как сделать, чтобы он много раз стрелял, пока guard.alert == true. (функция вызывается в другой функции, которая находится под requestAnimationFrame)