示例
as自带的Tween早就不用了
Tweener实现这个也需要通过onComplete事件,多个连续的动作很麻烦
TweenMax就简单多了
代码package
{
import com.greensock.TimelineMax;
import com.greensock.TweenMax;
import com.greensock.easing.Linear;
import com.greensock.easing.Quart;
import flash.display.Sprite;
/**
* @author John Lindquist
*/
[SWF(width="900", height="480", frameRate="31")]
public class EasingATimeline extends Sprite
{
private var square:Sprite;
private static const STEP_DURATION:Number = 1;
public function EasingATimeline()
{
square = new Sprite();
square.graphics.beginFill(0xcc0000);
square.graphics.drawRect(0, 0, 50, 50);
square.graphics.endFill();
square.x = 100;
square.y = 50;
addChild(square);
//set all the eases of your steps to Linear.easeNone
var step1:TweenMax = TweenMax.to(square, STEP_DURATION, {x: 700, y: 50, ease: Linear.easeNone});
var step2:TweenMax = TweenMax.to(square, STEP_DURATION, {x: 700, y: 350, ease: Linear.easeNone});
var step3:TweenMax = TweenMax.to(square, STEP_DURATION, {x: 100, y: 350, ease: Linear.easeNone});
var step4:TweenMax = TweenMax.to(square, STEP_DURATION, {x: 100, y: 50, ease: Linear.easeNone});
var timeline:TimelineMax = new TimelineMax();
timeline.append(step1);
timeline.append(step2);
timeline.append(step3);
timeline.append(step4);
//pause your timeline
timeline.pause();
//tween your timeline with whatever ease you want
TweenMax.to(timeline, timeline.totalDuration, {currentTime: timeline.totalDuration, ease: Quart.easeInOut, repeat: -1});
}
}
}
转载于:https://www.cnblogs.com/xxcainiao/archive/2009/12/28/1633796.html