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;
}
}
}