www.pudn.com > photoFlow_AS3_001.rar > Normal.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 Normal extends EventDispatcher implements Itween{ 
		 
		private var _speed:Number=0.1; 
		private var vx:Number=-1000; 
		private var vy:Number=-1000; 
		 
		public function Normal(strength:Number=0.1){ 
			_speed=strength; 
		} 
		 
		public function getNextPoints(p1:Points,p2:Points):Points{ 
			 
			var arr1=p1.toArray(); 
			var arr2=p2.toArray(); 
			var arr3=[]; 
			 
			if(vx==-1000 || vy==-1000){ 
				reset(arr1,arr2); 
			} 
			var v:Number=vx; 
			 
			for(var i:uint=0;iv){ 
				if(d<0){ 
					r=p-v; 
				}else{ 
					r=p+v; 
				} 
				return r; 
			}else{ 
				return t; 
			} 
			 
		} 
		 
		 
		 
		public function set speed(sp:Number):void{ 
			_speed=sp; 
		} 
		public function get speed():Number{ 
			return _speed; 
		} 
		public function onFinish(){ 
			vy=vx=-1000; 
			 
			 
		} 
		private function reset(arr1:Array,arr2:Array):void{ 
			var d=Math.abs(arr1[0]-arr2[0]); 
			if(d==0){ 
				d=Math.abs(arr1[6]-arr2[6]); 
			} 
			 
			vx=d*speed; 
			 
			d=Math.abs(arr1[1]-arr2[1]); 
			 
			if(d==0){ 
				d=Math.abs(arr1[3]-arr2[3]); 
			} 
			 
			vy=d*speed; 
			 
		} 
	} 
}