陈童的博客's Archivers

From everyinch on 2013-07-03 18:19:56

Tweener——循环补间

<img class="alignnone size-full wp-image-1407" alt="tweenLoop" src="http://www.everyinch.net/wp-content/uploads/2013/07/tweenLoop.jpg" width="200" height="168" />

Tweener补间引擎的onComplete参数,允许在一个补间结束之后再调用另一个函数。这样可以通过onComplete参数,在第一段补间结束之后调用第二段补间,而第二段补间完成后,再次调用第一段补间,从而制作出反复循环的动画效果。在TweenerFilter.as示例的基础上,制作一个反复循环的示例,类文件名为TweenerLoop.as,源代码如下:
[code lang="as3"]package{
import caurina.transitions.Tweener;
import caurina.transitions.properties.FilterShortcuts;

import flash.display.Bitmap;
import flash.display.Sprite;

[SWF(width="640",height="480",backgroundColor="0xffffff")]
public class TweenerLoop extends Sprite{
[Embed(source="assets/icon.jpg")]
private var icon:Class;

private var sprite:Sprite;

public function TweenerLoop(){
var bmp:Bitmap = new icon();
sprite = new Sprite();
sprite.addChild(bmp);
addChild(sprite);
sprite.x = 256;
sprite.y = 176;

FilterShortcuts.init();

startTween();
}

private function startTween():void{
Tweener.addTween(sprite,{_Blur_blurX:60,_Blur_blurY:60,time:1,transition:"easeInOutBounce",onComplete:secondTween});
}

private function secondTween():void{
Tweener.addTween(sprite,{_Blur_blurX:0,_Blur_blurY:0,time:1,transition:"",onComplete:startTween});
}
}
}[/code]
为了在不同的函数中引用sprite,将sprite定义为类成员变量。在构造函数中调用startTween函数。在startTween函数中,使用Tweener补间引擎将sprite模糊化,并在补间结束之后调用secondTween函数。在secondTween函数中,使用Tweener补间引擎将去除sprite的模糊滤镜,在补间结束之后又重复调用startTween函数,如此循环。

查看完整版本: Tweener——循环补间

Tags:


©陈童的博客