首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测html5画布是否暂停

检测html5画布是否暂停
EN

Stack Overflow用户
提问于 2012-05-28 18:11:46
回答 2查看 272关注 0票数 2

我正在开发一个与HTML5画布和JavaScript的游戏。

为了给游戏计时,我从现在开始用系统毫秒,从最后一帧发生的时间减去系统毫秒,剩下的是最后一帧渲染所用的毫秒。

这很好用,但如果我在Firefox中打开一个新选项卡,画布似乎会被Firefox暂停,当我回来时,当前系统时间比最后一帧发生的系统时间晚了很多秒,所有东西都会跳转,因为它的移动是相对于最后一帧时间的。

我需要一些方法来检测,画布目前没有运行,或者Firefox (当然还有其他浏览器)已经切换到另一个标签,这样我就可以暂停我的游戏,当我返回时,更新‘最后一帧时间’以防止跳转。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-28 18:28:10

您还可以使用window onblur事件来检测选项卡何时发生更改。

票数 1
EN

Stack Overflow用户

发布于 2012-05-28 20:07:12

这只是时钟跳跃的一个原因。您仍然容易受到强制进程休眠、高系统负载、计算机休眠模式、休眠和其他十几种情况的影响。

你需要设置时间增量的上限。在我的项目(业余爱好游戏)中,我发现80ms是函数的最大值。

(此外,如果没有封口,碰撞检测会困难得多。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10782886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档