[study] - 重力

by gaina
♥0 | Line 63 | Modified 2010-06-11 02:47:40 | MIT License
play

ActionScript3 source code

/**
 * Copyright gaina ( http://wonderfl.net/user/gaina )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/yKRZ
 */

package  
{
	import flash.display.Sprite;
	import flash.events.Event;
	
	
	public class test extends Sprite
	{
		private var sp:Sprite;
		private var vector:addVector;
		private var vx:Number;
		private var vy:Number;
		private var grav:Number;
		
		public function test() 
		{
			init();
		}
		
		private function addGravity(e:Event):void {
			sp.x += vx;
			sp.y += vy;
			
			vy += grav;
			
			if (sp.y > stage.stageHeight)
			{
				removeEventListener(Event.ENTER_FRAME, addGravity);
				removeChild(sp);
				init();
			}
		}
		
		private function init() :void {
			
			sp = new Sprite();
			sp.graphics.beginFill(0);
			sp.graphics.drawCircle(0, 0, 5);
			sp.graphics.endFill();
			
			sp.x = 0;
			sp.y = 400;
			
			addChild(sp);
			
			vector = new addVector(10,15,1);
			vx = vector.vectorX;
			vy = vector.vectorY;
			grav = vector.grav;
			
			addEventListener(Event.ENTER_FRAME, addGravity);
		}
		
	}

}

class addVector 
	{
		private var _vectorX:Number;
		private var _vectorY:Number;
		private var _grav:Number;
		
		public function addVector(vectorX:Number=10, vectorY:Number=10, grav:Number=1 )
		{
			this._vectorX = vectorX;
			this._vectorY = -vectorY;
			this._grav = grav;
		}
		
		public function get vectorX ():Number {
			return this._vectorX;
		}
		
		//public function set vectorX(_vectorX:Number):void {
			//this._vectorX = -_vectorX;
		//}
		
		public function get vectorY():Number {
			return this._vectorY;
		}
		
		//public function set vectorY(_vectorY:Number):void {
			//this._vectorY = -_vectorY;
		//}
		
		public function get grav():Number {
			return this._grav;
		}
		
		//public function set grav(_grav:Number):void {
			//this._grav = _grav;
		//}
	}