www.pudn.com > photoFlow_AS3_001.rar > Bounce.as


 
package com.flashloaded.as3.tween{ 
	import com.flashloaded.as3.tween.Itween; 
	import flash.events.EventDispatcher; 
	import flash.events.Event; 
	import com.flashloaded.as3.Points; 
	 
	public class Bounce extends EventDispatcher implements Itween{ 
		 
		private var _friction:Number=0.1; 
		private var _strength:Number=0.1; 
		 
		private var _vpoints:Points; 
		 
		public function Bounce(strength:Number=0.1,friction:Number=0.1){ 
			_friction=friction; 
			_strength=strength; 
			reset(); 
		} 
		 
		public function getNextPoints(p1:Points,p2:Points):Points{ 
			var arr1=p1.toArray(); 
			var arr2=p2.toArray(); 
			 
			var arr3=[]; 
			var arrv=_vpoints.toArray(); 
			 
			var ax:Number; 
			var t:Number; 
			var p:Number; 
			 
			var finish:Boolean=true; 
			 
			for(var i:uint=0;i0.2 || Math.abs(arrv[i])>0.2){ 
					finish=false; 
				}else{ 
					arr3[i]=t; 
				} 
				 
			} 
			 
			if(finish){ 
				dispatchEvent(new Event(Event.COMPLETE)); 
			} 
			 
			var p3:Points=new Points(); 
			p3.setArray(arr3); 
			 
			return p3; 
		} 
 
		 
		public function set friction(sp:Number):void{ 
			_friction=sp; 
		} 
		public function get friction():Number{ 
			return _friction; 
		} 
		 
		public function set strength(sp:Number):void{ 
			_strength=sp; 
		} 
		public function get strength():Number{ 
			return _strength; 
		} 
		public function reset():void{ 
			_vpoints=new Points(); 
		} 
	} 
}