我的实时JavaScript游戏使用正常的更新 - 绘制循环与请求动画帧。如果我需要一个定时动作,我使用setTimeout()。例如:
Ability.canStart = true;
Ability.start = function(cooldown) {
Ability.canStart = false;
var that = this;
setTimeout(function() {
that.canStart = true;
}, cooldown);
// some action
}
在最后的游戏中,我可能会在非常极端的情况下在一秒钟内运行10-20个不同的计时器,我不觉得setTimeout是好的,快速和准确的方式。 所以我的问题是:这还不错,或者我应该编写一些将在每一帧检查和更新的计时器类?