如何使用Tween.js各类原生动画运动缓动算法

JavaScript06

如何使用Tween.js各类原生动画运动缓动算法,第1张

使用缓动功能,您可以加快或放慢动画的开头或结尾速度,以获得更加逼真或更加令人愉悦的效果。该技术用于修改 Flash 计算补间中的属性关键帧之间的属性值的方式。如果不使用缓动,Flash 在计算这些值时,会使对值的更改在每一帧中都一样。如果使用缓动,则可以调整对每个值的更改程度,从而实现更自然、更复杂的动画。缓动是应用于补间属性值的数学曲线。补间的最终效果是补间和缓动曲线中属性值范围组合的结果。例如,在制作汽车经过舞台的动画时,如果让汽车从停止开始缓慢加速,然后在舞台的另一端缓慢停止,则动画会显得更逼真。如果不使用缓动,汽车将从停止立刻到全速,然后在舞台的另一端立刻停止。如果使用缓动,则可以对汽车应用一个补间动画,然后使该补间缓慢开始和停止。一个未应用缓动的运动路径。请注意帧沿路径的均匀分布。已应用“停止并启动(中)”缓动的同一运动路径。请注意路径末尾附近帧的浓度,产生更逼真的汽车加速和减速。可以在属性检查器或动画编辑器中应用缓动。在属性检查器中应用的缓动将影响补间中包括的所有属性。在动画编辑器中应用的缓动可以影响补间的单个属性、一组属性或所有属性。缓动可以简单,也可以复杂。Flash 包含一系列的预设缓动,适用于简单或复杂的效果。在动画编辑器中,还可以创建自己的自定义缓动曲线。缓动的常见用法之一是在舞台上编辑运动路径并启用浮动关键帧以使每段路径中的运行速度保持一致。然后可以使用缓动在路径的两端添加更为逼真的加速或减速。在向属性曲线应用缓动曲线时,属性曲线图形区域中将显示缓动曲线的可视叠加。通过将属性曲线和缓动曲线显示在同一图形区域中,叠加使得在测试动画时了解舞台上所显示的最终补间效果更为方便。因为动画编辑器中的缓动曲线可以很复杂,所以可以使用它们在舞台上创建复杂的动画而无需在舞台上创建复杂的运动路径。除空间属性 X、Y 和 Z 外,还可以使用缓动曲线创建其他任何属性的复杂补间。

CreateJS包含4个部分,EaselJS、TweenJS、PreloadJS、SoundJS,其中最主要的部分EaselJS包含了开发Html5游戏的所有功能,仅仅使用EaselJS几乎可以完成所有的开发工作,其余三项可以看作EaselJS的辅助工具。比如响应tick事件然后改变元素坐标就可以实现动画功能,而使用TweenJS来创建补间动画,则可以省去你很多代码,简化了操作。

一个简单的tick动画看起来是这样的:

var stage, circle  

   function init(){  

       stage = new createjs.Stage(document.getElementById('game'))  

       createjs.Ticker.addEventListener("tick", handleTick)  

       createjs.Ticker.setFPS(60)  

       circle = new createjs.Shape()  

       circle.graphics.f("red").dc(0,0,50)  

       circle.x = 0  

       circle.y = 100  

       stage.addChild(circle)  

  

       circle.addEventListener("click", function(event){  

           createjs.Ticker.setPaused(!createjs.Ticker.getPaused())  

       })  

  

   }  

  

   function handleTick(event){  

   if(!event.paused){  

       circle.x +=5  

       if(circle.x > 1000){  

           circle.x = 0  

       }  

   }  

       stage.update()  

   }

TweenMax.js是动画插件库GSAP(GreenSock Animation Platform)的核心文件,加载后即可使用四个主要运动类TweenLite、TweenMax、TimelineLite、TimelineMax和一些其他插件。可对一个或多个物件进行动画,或添加至时间轴中设计复杂的影片。

GSAP最初在flash时代(2004-2006)是作为flash软件的插件用来增添动画效果,当时的名字是「GreenSock Tweening Platform」(GreenSock补间平台)。后来Flash逐渐没落,在网页上的应用,除了游戏和视频播放之外不断减少。出于自身发展考虑,GreenSock在v12(第十二版)中,加入了JavaScript的Class,也就是说我们可以在HTML网页中使用TweenLite或TweenMax…等来制作动画,也藉此版本把发展计划的名称更名为「GreenSock Animation Platform」(GreenSock动画平台),主要是把「Tweening」换成「Animation 」,因为前者主要为Flash在使用的名词,而后者就属于比较广义的「动画」,后来逐步发展为全平台均可应用的动画库。

最新的v2.x版本则全面支持html5和css3动画,并适应于主流的浏览器。

在网页上GreenSock目前提供使用的有「TweenLite」、「TweenMax」、「TimelineLite」、「TimelineMax」这四个项目,虽比Flash来的少,不过也是最常用的几项,相信可以帮助设计师们在不使用Flash的情形之下,制作许多不同凡响的动画效果,另外关于这四项的差别也跟Flash版本一样

TweenMax.js的优势在于性能强劲和使用简便。

tweenmax中文网