我正在使用 HTML5 画布和 JavaScript 开发游戏。
为了给游戏计时,我从现在开始计算系统毫秒数,从最后一帧发生时减去系统毫秒数,这样我就得到了最后一帧渲染所用的毫秒数。
这工作正常,但如果我在 Firefox 中打开一个新选项卡,画布似乎被 Firefox 暂停,当我回来时,当前系统时间比系统时间晚几秒钟,最后一帧发生并且一切都跳转,因为它的移动是相对于最后一帧时间的。
我需要一些方法来检测画布目前没有运行,或者 Firefox(当然还有其他浏览器)已经切换到另一个选项卡,所以我可以暂停我的游戏,并在返回时更新“最后一帧”时间'以防止跳跃。
有任何想法吗?