About

<#TEMPLATE_INCLUDE_NINEPAGE_ABOUTME#>
  • Jul

    19

    最近的项目中用到了需要平滑效果的补间类,虽然 Flash 也内置了 Tween 类,不过功能太简单,从语法上来说它无法在一行代码上一次性设置多个属性的变化,所以就直接放弃了它。

    然后选中在各论坛比较流行的两个类,TweenLite 大于 Tweener,它们的语法非常类似。并且在 greensock 官方网站上给出了一个测试不同补间类的一个实际 SWF 文件,在那个演示文件中是同时运行多个简单对象,发现运行对比 TweenLite 的效率以压倒性的优势胜于 Tweener,不过 TweenLite 本身就是 greensock 开发的,所以在他们官方网站给出的演示文件肯定是对 TweenLite 有利的(毕竟 TweenLite 有很多插件是商业性的)。

    但我在自己的实际项目中测试发现,TweenLite 的高性能是针对 TweenLite 多个对象的,并非真正的从对象的复杂性出发,会导致跳帧的现象,也就是说,如果只创建一个对象,而这个对象中包含了数千个复杂图形对象和位图时,TweenLite 就会出现跳帧现象,甚至直接跳过中间补间,只出现头和尾两帧。而在实际的测试中发现 Tweener 虽然性能底,但却会将动画完整的表现出来,也就会等待补间动画的刷新完成,所以它会出现一卡一卡的现象,当然动画时间比较短的话,这种一卡一卡的现象还是可以勉强接受的,毕竟是数千个复杂图形和位图对象。所以 greensock 官方网站上创建的多个 TweenLite 对象但只包含简单图形的情况并不能真正的作为项目中是否应该应用 TweenLite 的依据。

    最终我选择了 Tweener,因为我的数千个复杂图形和位图对象只出现在gotoAndStop()的某一帧,也就是只会卡一下,大约0.5秒,但却可以完美的表现最终的动画,而 TweenLite 却在卡帧之后直接跳过了整个补间动画,只有头和尾两帧。Tweener,nice :)

    Jul

    19

    Tweener 类的下载(带API): Tweener.rar

    以下为transition 参数可视化表现形式