Circle Motionv 0.1

简单的圆形轨迹动画效果,可以指定圆心、半径及运动圆周的倍数,即是绕圆运动次数

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

:-(  Please update your flashplayer.