Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何测量闪光中的时间间隔,不包括在';浏览器暂停了什么?_Actionscript 3_Flash - Fatal编程技术网

Actionscript 3 如何测量闪光中的时间间隔,不包括在';浏览器暂停了什么?

Actionscript 3 如何测量闪光中的时间间隔,不包括在';浏览器暂停了什么?,actionscript-3,flash,Actionscript 3,Flash,我想测量比赛中某个项目的时间。目前,我只是在事件开始和结束时保存时间戳,然后计算差异 当用户在事件期间切换浏览器中的选项卡时,就会出现问题。这会导致flash暂停,这会打乱我的间隔计算,因为它取决于“实时”时间,而不是flash处于“活动”状态的时间 有什么简单的解决办法吗?就像一些内部计时器在游戏的其余部分暂停一样,我可以启动并检查它,而不是减去时间戳。如果你能检测到用户在javascript中切换选项卡(可能是模糊事件),你可以使用localconnection告诉flash保存另一个时间戳

我想测量比赛中某个项目的时间。目前,我只是在事件开始和结束时保存时间戳,然后计算差异

当用户在事件期间切换浏览器中的选项卡时,就会出现问题。这会导致flash暂停,这会打乱我的间隔计算,因为它取决于“实时”时间,而不是flash处于“活动”状态的时间


有什么简单的解决办法吗?就像一些内部计时器在游戏的其余部分暂停一样,我可以启动并检查它,而不是减去时间戳。

如果你能检测到用户在javascript中切换选项卡(可能是模糊事件),你可以使用localconnection告诉flash保存另一个时间戳,然后当页面重新聚焦时,发送另一个时间戳。不要只减去两个时间戳,现在您必须在添加差异和忽略差异之间来回切换。

首先,启动一个常规计时器()。然后为激活和停用添加侦听器。。。当您的应用程序失去焦点时(用户转到另一个选项卡、另一个应用程序等),会触发这些事件:


然后在侦听器方法中停止并启动计时器。

如何使用计时器测量间隔?我看不到一种方法来获取启动后的毫秒数。var start=flash.utils.getTimer();var end=flash.utils.getTimer()-start;尝试捕获
事件。停用
,但由于某些原因,它只能在本地swf预览中工作,当嵌入html页面时,它不会被触发(在Chrome和FF中尝试)。我刚刚在Chrome中测试过,它对我有效。您确定正在收听主应用程序范围吗?就像在myApp.addEventListener中一样。。。
addEventListener(Event.ACTIVATE, activateListener);
addEventListener(Event.DEACTIVATE, deactivateListener);