public static function direction(firstPos:Point,nextPos:Point):int{ var angle:Number = Math.atan2(firstPos.y-nextPos.y,nextPos.x-firstPos.x)*(180/Math.PI); if(angle>22.5 && angle<=67.5){//右上 return ActionEnum.StandOrWalk_RightUp; } if(angle>-22.5 && angle<=22.5){//右 return ActionEnum.StandOrWalk_Right; } if(angle>-67.5 && angle<=-22.5){//右下 return ActionEnum.StandOrWalk_RightDown; } if(angle>-112.5 && angle<=-67.5){//下 return ActionEnum.StandOrWalk_Down; } if(angle>-157.5 && angle<=-112.5){//左下 return ActionEnum.StandOrWalk_LeftDown; } if((angle>-180 && angle<=-157.5) || (angle>157.5 && angle<=180)){//左 return ActionEnum.StandOrWalk_Left; } if(angle>112.5 && angle<=157.5){//左上 return ActionEnum.StandOrWalk_LeftUp; } if(angle>67.5 && angle<=112.5){//上 return ActionEnum.StandOrWalk_Up; } return -1; }