【发布时间】:2012-11-15 19:18:53
【问题描述】:
每AdobegetTimer() 是:
用于计算相对时间。对于处理 ActionScript 3.0 的 Flash 运行时,此方法返回自 ActionScript 3.0 (AVM2) 的 Flash 运行时虚拟机启动以来经过的毫秒数。
由于 getTimer 返回一个 int :
int 类允许您使用表示 32 位有符号整数的数据类型。 int类表示的值的范围是-2,147,483,648(-2^31)到2,147,483,647(2^31-1)
getTimer() 在 2,147,483,647 毫秒后会返回什么?我认为那大约是连续跑步 24.85 天。这不是一种常见的情况,但对于数字标牌和信息亭环境来说是完全可行的。
在这些情况下应该避免使用 getTimer() 吗? Date.UTC() 对象返回 Number 类型会更安全吗?
【问题讨论】:
-
我25天后回来,知道正确答案!
-
太棒了!我没有额外的机器,否则我会加入你。
-
无论如何我都会使用 Date.UTC() 。您必须检查一下时间,重置另一个自定义属性以进行溢出。使用 Date.UTC() 您可以捕获初始开始时间,然后将其从新时间中减去即可获得价值。
-
同意 Gone3d 我只使用 Date.UTC(),两者都返回毫秒精度,因此考虑到 getTimer 调用返回可能更小的位宽表示,这可能在位溢出期间产生不良影响,不提供任何收益。刚刚做了一个测试,一个 int 将环绕在它的 MAX_VALUE 之上,这基本上是预期的:snag.gy/iV6nC.jpg
-
良好的反应。 Date.UTC() 因其精确性而具有吸引力。我想知道 Date.UTC 和 geTimer() 之间的性能差异是什么 - 测试是有序的,希望我会记得比较。环绕翻转为负面的证据令人惊讶且有趣。我主要是想知道 getTimer() 是否会引发错误,但经过讨论之后这似乎不太可能,尽管我仍然有兴趣确定。
标签: actionscript-3 flash int