MOUSE_MOVE事件之间的AS3 getTimer结果

时间:2010-06-27 02:11:23

标签: actionscript-3

我是以编程为基础,以基于鼠标事件监听器的时间轴来回拖动播放头。鼠标拖动得越快,播放头就越快地穿过帧(它是线性比例的)。

我也在发起一个starter = getTimer();事件在inital mouse_move事件触发器(并且仅在初始事件中)然后在计算新播放头位置的代码末尾触发ender = getTimer(),但仅当计算导致播放头被告知时移动至少一帧(鼠标可以在播放头移动一帧之前移动几个像素)。从本质上讲,它给了我一帧每秒的速度。

如果我看两个计时器的三角形,我很少得到任何东西,但是偶尔我会得到1而不是经常。在最初的mouse_move和决定移动播放头之间需要解决几十条繁重的代码行,并且必须在播放头完全移动之前完成许多鼠标位置更改。第二个getTimer调用被触发。 mouseEvent是否每ms触发一次,或者以doc的帧速率(enterframe rate)触发。如果是这样,我应该看到的最小delta是31ms。

这在独立的swf播放器(10.1)中作为应用程序运行,从不在浏览器中运行。 我的结果是否表明了这一点?编译器真的可以快速运行吗?如何进行看似超出毫秒时钟粒度的非常小的时序测试?

我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:0)

真的很难理解,你的实际问题是什么。我建议,您将问题减少到最低限度并向我们展示一些代码。我认为你在理解AS3事件模型时遇到了问题。调用getTimer当然不意味着发起事件。此外,MouseEvent s与帧速率无关。