我试图为我的角色重新加载动画更改值。每次动画循环时,我希望 player.shots 增加 1。但是,它运行一次,动画继续这是我的代码。
gun.setAnimation('reload');
gun.afterFrame(6,function(){
console.log('reload');
player.shots++;
if(player.shots > 5){
gun.setAnimation('idle');
}
}
有趣的是,如果函数中发生错误,它会像预期的那样工作。
gun.setAnimation('reload');
gun.afterFrame(6,function(){
console.log('reload');
player.shots++;
if(player.shots > 5){
gun.setAnimation('idle');
}
throw "reloading"
}
这使我相信 afterFrame 确定它是否应该在下一次迭代中运行或不基于返回值。
是否有任何好的解决方法或我需要添加的参数,或者我应该故意导致错误以获得所需的行为?