物体围绕另一个物体圆形运动

package 
{
	/*库中有两个元件Ball和Mc*/
	import flash.display.Sprite;
	import flash.events.Event;

	public class Circle extends Sprite
	{
		private var ball:Ball;
		private var mc:Mc;
		private var angle:Number = 0;
		private var centerX:Number = 200;
		private var centerY:Number = 200;
		private var radius:Number = 40;
		private var speed:Number = 0.1;

		public function Circle()
		{
			init();
		}

		private function init()
		{
			mc = new Mc  ;
			mc.x = centerX;
			mc.y = centerY;
			addChild(mc);
			ball = new Ball  ;
			ball.x = 0;
			addChild(ball);
			addEventListener(Event.ENTER_FRAME,onEnter);
		}

		public function onEnter(e:Event):void
		{
			ball.x = centerX + Math.sin(angle) * radius;
			ball.y = centerY + Math.cos(angle) * radius;
			angle +=  speed;

			var dx:Number = ball.x - mc.x;
			var dy:Number = ball.y - mc.y;
			var dis:Number = Math.sqrt(dx * dx + dy * dy);
			trace(dis);
			var radians:Number = Math.atan2(dy,dx);
			mc.rotation = radians * 180 / Math.PI;
			trace(mc.rotation);
		}

	}
}
posted on 2011-01-11 17:07  602147629  阅读(220)  评论(0编辑  收藏  举报