在循环setInterval或requestAnimationFrame中发出一次警报,javascript

在循环setInterval或requestAnimationFrame中发出一次警报,javascript,javascript,Javascript,这是一个用javascript开发的游戏的小片段 它有一个无限循环的主函数 问题 我希望在角色死亡时显示一个警报,否则由于循环,它会显示数千个警报 characterDead = false; function colision(){ //if colision > true charactedDead = true; alert("the character died") } function main(){ //...other functions colis

这是一个用javascript开发的游戏的小片段

它有一个无限循环的主函数

问题

我希望在角色死亡时显示一个警报,否则由于循环,它会显示数千个警报

characterDead = false;

function colision(){
//if colision > true
charactedDead = true;
alert("the character died")
}


function main(){
//...other functions
colision();
requestAnimationFrame(main);
}

window.onload = function() {main();};

您需要一个characterDead签入
colision()

此外,您还有一个输入错误——“charactedDead”应该是同一函数中的“characterDead:)

var characterDead=false;
函数colision(){
如果(!characterDead){//检查角色是否已死亡
characterDead=true;//杀死它
console.log(“角色死亡”);//警告或记录此事件
}
}
函数main(){
//……其他职能
结肠炎();
requestAnimationFrame(主);
}
window.onload=函数(){
main();

};效果非常好我的朋友谢谢你。。。你知道的。。。javascript世界充满了拼写错误!!(损失数千小时)@Dan不客气!我建议您使用安装在编辑器中的JS linters,它可以快速捕获此类问题并节省大量时间。我使用eslint。