我想测量游戏中事件的时间。目前,我只是在事件开始和完成时保存时间戳,并计算差异。
当用户在事件期间在浏览器中切换选项卡时,会出现问题。这会导致闪光暂停,这会影响我的间隔计算,因为它取决于“实际”时间,而不是闪光灯“活着”的时间。
这有什么简单的解决方案吗?就像一些内部计时器暂停,我可以启动并检查游戏的其余部分,而不是减去时间戳。
答案 0 :(得分:0)
如果你可以检测用户何时在javascript中切换标签(可能是模糊事件),你可以使用localconnection告诉flash保存另一个时间戳,然后当页面重新获得焦点时,发送flash另一个时间戳。现在你不得不减去两个时间戳,而是必须在添加差异和忽略差异之间来回切换。
答案 1 :(得分:0)
首先,启动常规Timer()。然后添加用于激活和停用的侦听器...当您的应用程序失去焦点时,这些事件会触发(用户转到另一个选项卡,另一个应用程序等):
addEventListener(Event.ACTIVATE, activateListener);
addEventListener(Event.DEACTIVATE, deactivateListener);
然后在侦听器方法中停止并启动计时器。