DFdou's Blog Life is short,Be yourself.

2611/091

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(),参数完全一样的说。

Some Related Posts

Comments (1) Trackbacks (0)
  1. import caurina.transitions.Tweener;
    import caurina.transitions.properties.ColorShortcuts;

    ColorShortcuts.init();
    Tweener.addTween(clip_mc,{_color:0xff0000,x:500,time:1});
    颜色渐变的写法~

    [Reply]


Leave a comment

:zhuang :xizao :wuwu :wenhao :wc :touxiang :shuaya :shuajian :shengtian :paopao :no :meinv :maonv :loveu :leilei :kua :jrjr :dahan :chi :chaocai :byebye


CommentLuv Enabled

No trackbacks yet.