A sample ellipse motion
实现简单的椭圆轨迹运动
function ellipseMove(mc:MovieClip, x1:Number, y1:Number, a:Number, b:Number, deltaAng:Number, t:Number) {
var deltaX:Number;
var deltaY:Number;
!mc.ang ? mc.ang=0 : mc.ang=mc.ang;
deltaAng = deltaAng*Math.PI/180;
ang = deltaAng+mc.ang;
angTween = new Tween(mc, "ang", mx.transitions.easing.Strong.easeOut, mc.ang, ang, t, true);
angTween.onMotionChanged = function() {
mc.enabled = false;
deltaY = b*Math.sin(mc.ang);
deltaX = a*Math.cos(mc.ang);
posX = deltaX+x1;
posY = deltaY+y1;
mc._x = posX;
mc._y = posY;
mc.swapDepths(this._y);
};
angTween.onMotionFinished = function() {
mc.enabled = true;
};
}
Download