简单的圆形轨迹动画效果,可以指定圆心、半径及运动圆周的倍数,即是绕圆运动次数
function circleMotion(mc:MovieClip, cx:Number, cy:Number, cn:Number, ct:Number):Void {
var radius:Number = Math.sqrt(Math.pow((mc._x-cx), 2)+Math.pow((mc._y-cy), 2));
var deltaX:Number;
var deltaY:Number;
var angle0:Number = Math.atan((mc._y-cy)/(mc._x-cx));
var angle:Number;
timer = new Tween(mc, "_rotation", mx.transitions.easing.None.easeOut, 0, 360*cn, ct, true);
timer.onMotionChanged = function() {
angle = mc._rotation*Math.PI/180+angle0;
deltaX = radius*Math.cos(angle);
deltaY = radius*Math.sin(angle);
mc._x = cx+deltaX;
mc._y = cy+deltaY;
};
}
Download