如何打造一款精准、匹配实时的天文台表?

发布于 2024-12-06 05:46:37 字数 186 浏览 1 评论 0原文

我正在开发一个教育软件,主要使用 Flash AS3 开发,我们有一个计时器,可以通过不同的用户显示不同的值。 示例:两个用户同时启动计时器,但在使用几分钟后,他们的值不同。

当前的实现使用Timer类,导致这种情况发生,显然是由于每台计算机的平均速度不同。

我心里已经有了一个想法,但我想得到一些理论上的建议。 提前致谢。

I'm working in an educational software, mostly developed using Flash AS3, and we have a chronometer which shows different values through different users.
Example: Two users starting the chronometer at same time, but along some minutes of usage, they have different values.

The current implementation uses Timer class, causing this to happen, obviously due the different average speed of each computer.

I already have an idea in mind, but I would like to have some theoretical suggestions.
Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

漫漫岁月 2024-12-13 05:46:37

Timer 类不是很准确。来自文档: http://help.adobe .com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/Timer.html

根据 SWF 文件的帧速率或运行时环境(可用内存和其他因素),运行时可能会以稍微偏移的间隔调度事件。例如,如果 SWF 文件设置为以每秒 10 帧 (fps) 播放,即 100 毫秒间隔,但计时器设置为以 80 毫秒触发事件,则将在接近 100 毫秒间隔的情况下调度该事件。内存密集型脚本也可能会抵消事件。

如果您正在查找自应用程序启动以来的相对时间,请使用 flash.utils.getTimer()。 http://help .adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/package.html#getTimer%28%29

如果您想做更复杂的计时,可以使用日期类。 http://help.adobe.com/en_US/FlashPlatform/reference /actionscript/3/Date.html

The Timer class is not very accurate. From the docs: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/Timer.html

Depending on the SWF file's framerate or the runtime environment (available memory and other factors), the runtime may dispatch events at slightly offset intervals. For example, if a SWF file is set to play at 10 frames per second (fps), which is 100 millisecond intervals, but your timer is set to fire an event at 80 milliseconds, the event will be dispatched close to the 100 millisecond interval. Memory-intensive scripts may also offset the events.

If you're looking for a relative time since the start of your application, use flash.utils.getTimer(). http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/package.html#getTimer%28%29

If you want to do more sophisticated timing, you can use the Date class. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Date.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文