AS3-Caurina 动画类
今天玩了下Caurina类,和TweenLite的差别并不大,具体哪个好用,对我来说,TweenLite更熟悉点=,=
而老外(尤其是日本人)的Flash破解出来基本都是Caurina来作为Tween类,因为Caurina开源的关系么?
Caurina官方地址如下:http://hosted.zeh.com.br/tweener/docs/en-us/。
类包下载地址:http://code.google.com/p/tweener/downloads/list,看好版本再下载哈。
最简单的动画代码如下:
import caurina.transitions.Tweener;
Tweener.addTween(clip_mc,{x:500,time:1,transition:"easeOutBounce"});
让clip_mc的x位置花1s的时间运动到500位置,动画的ease为easeOutBounce。熟悉TweenLite的应该很快就可以熟悉Caurina了。至于addTween的详细参数,,自己看文档去~
下边来个结合Timer的Demo,来自flepstudio.org。
Demo的代码:
import caurina.transitions.Tweener;
var my_array:Array=new Array();
var timer:Timer;
for(var i:int=0;i < 10;i++){
var clip:MovieClip=new MovieClip();
clip.graphics.beginFill(0x33FFFF,1);
clip.graphics.drawRect(0,0,35,35);
clip.graphics.endFill();
addChild(clip);
my_array.push(clip);
clip.x=35+clip.width*i+10*i;
clip.y=10;
}
timer=new Timer(300,my_array.length);
timer.addEventListener(TimerEvent.TIMER,cambiaColore);
timer.start();
function cambiaColore(evt:TimerEvent):void{
Tweener.addTween(my_array[evt.target.currentCount-1],{_color:0x333333,time:1,transition:"easeInBounce"});
Tweener.addTween(my_array[evt.target.currentCount-1],{y:100,time:1,transition:"easeInBounce"});
}
Caurina也可以方便的修改MC的颜色,这个很重要,哈哈。
至于同一个MC的动画覆盖,如果没有delay,Caurina会直接覆盖,如果设置了delay并且时间线没重叠前边的time,那就自动兼容,和TweenLite里的overwrite:3一样。
至于delayedCall方法Caurina没提供,但是caurina.transitions.properties.FilterShortcuts提供了滤镜的渐变,呵呵,TweenLite么有这个功能。
另外我觉得Caurina的ease效果比TweenLite的好,不过看了下Caurina和Tweenlite的Bounce缓动系数,先是Caurina的:
public static function easeInOutBounce (t:Number, b:Number, c:Number, d:Number, p_params:Object = null):Number {
if (t < d/2) return easeInBounce (t*2, 0, c, d) * .5 + b;
else return easeOutBounce (t*2-d, 0, c, d) * .5 + c*.5 + b;
}
然后是TweenLite的:
public static function easeInOut (t:Number, b:Number, c:Number, d:Number):Number {
if (t < d/2) return easeIn (t*2, 0, c, d) * .5 + b;
else return easeOut (t*2-d, 0, c, d) * .5 + c*.5 + b;
}
如果你看过Flash的系统类包,你会发现,这个就是fl.transitions.easing包里Bounce类的easeInOut(),参数完全一样的说。
March 11th, 2010 - 15:29
import caurina.transitions.Tweener;
import caurina.transitions.properties.ColorShortcuts;
ColorShortcuts.init();
Tweener.addTween(clip_mc,{_color:0xff0000,x:500,time:1});
颜色渐变的写法~
[Reply]