`
hacker47
  • 浏览: 336452 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

AS3基础:圆周运动

 
阅读更多
package  
{
	import flash.display.Sprite;
	import flash.events.Event;
	
	/**
	 * ...
	 * @author hacker47
	 */
	public class Main extends Sprite 
	{
		private var angle:Number = 0;
		private var centerX:Number = 300;
		private var centerY:Number = 300;
		private var radius:Number = 200;
		private var speed:Number = .1;
		
		public function Main() 
		{
			if (stage) init();
			else
			addEventListener(Event.ADDED_TO_STAGE, init);
		}
		
		private function init(e:Event = null):void {
			addEventListener(Event.ENTER_FRAME, running);
		}
		
		private function running(e:Event):void {
			ball.x = centerX + Math.cos(angle) * radius;
			ball.y = centerY + Math.sin(angle) * radius;
			angle += speed;
		}
		
	}

}

 

分享到:
评论
1 楼 hacker47 2012-03-07  
package  
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.geom.Point;
	
	/**
	 * ...
	 * @author hacker47
	 */
	public class Main2 extends Sprite 
	{
		private var radius:Number = 200;
		private var angle:Number = 0;
		private var xPos:Number;
		private var yPos:Number;
		private var speed:Number = .1;
		private var startPoint:Point = new Point(300, 300);
		
		public function Main2() 
		{
			if (stage) init();
			else
				addEventListener(Event.ADDED_TO_STAGE, init);
				
		}
		
		private function init(e:Event = null):void {
			graphics.lineStyle(1, 0, 1);
			graphics.moveTo(startPoint.x+radius, startPoint.y);
			addEventListener(Event.ENTER_FRAME, running);
		}
		
		private function running(e:Event):void {
			xPos =startPoint.x+ Math.cos(angle) * radius;
			yPos =startPoint.y+ Math.sin(angle) * radius;
			graphics.lineTo(xPos, yPos);
			angle += speed;
			trace(angle*180/Math.PI);
			if (angle*180/Math.PI > 360) {
				angle = 0;
			}
		}
		
	}

}

相关推荐

Global site tag (gtag.js) - Google Analytics