我想尽可能平滑地为MoviveClips/Sprite对象制作动画.但到目前为止,唯一有效的方法是将移动代码放入EnterFrame事件处理程序.这种方法存在一个问题:当特定机器上的帧速率低于所需的帧速率时,整个游戏速度变慢.我希望能够以与时间无关的方式做到这一点.
Luk*_*uke 12
有两种方法可以在Flash播放器中进行编程动画.您已经通过使用onEnterFrame指出的第一个.但是,您可能已经注意到,为了获得平滑的动画,您需要提高电影的整体帧速率.这样做还会增加SWF运行的整个时间段的CPU负载.这不是你一直想要的.
编程动画的另一种方法是使用计时器.在计时器处理程序中,可以调用一个名为的函数updateAfterEvent,该函数将独立于您为SWF设置的FPS更新屏幕.因此,使用计时器会离开网关,在Flash播放器中进行平滑动画,而不会增加SWF的整体帧速率.
大约两年前,我开始为Flash创建自己的补间库(因为我对现有的补间库感到沮丧).我以Coretween的名义发布了它,除了其他功能之外,这个库还可以为每个补间选择您喜欢的动画类型.在文档页面上,我举例说明了基于帧的动画和基于时间的动画.该页面上的示例SWF以12 fps运行,但正如您所看到的,较低的圆圈补间更加平滑,因为它由一个定时器控制,定时器以60 fps为单位并且根据SWF帧速率更新屏幕.请记住,即使计时器实际上以60 fps的速度运行,Flash Player仍然无法达到此帧速率.但是,它将尝试实现此帧速率,从而使整体动画更加平滑.
不幸的是直到现在我还没有能够发布我的库的1.0版本,但据我所知,它非常稳定.非常欢迎您以任何您认为合适的方式使用它.我在许多商业制作中使用过Coretween,包括我们在澳大利亚为StGeorge银行做的这个.
| 归档时间: |
|
| 查看次数: |
5813 次 |
| 最近记录: |