public function getP2PLength(s_node : Node , e_node : Node) : Object //该公有函数两个参数,分别代表起点和终点,函数返回值为对象。(事实上考虑的是两点作成的向量,既有长度又有方向的量){ var m_R : int = 0 ;//记录两点所成向量的方向余弦的角度值var pR : Number = 0.0 ;//记录两点所成向 展开
public function getP2PLength(s_node : Node , e_node : Node) : Object //该公有函数两个参数,分别代表起点和终点,函数返回值为对象。(事实上考虑的是两点作成的向量,既有长度又有方向的量){ var m_R : int = 0 ;//记录两点所成向量的方向余弦的角度值var pR : Number = 0.0 ;//记录两点所成向量的方向余弦的弧度值var m_r : Number = 0.0 ;//记录两点距离的变量var m_size : Size = new Size() ;//记录坐标差的Size类的实例变量var r_data : Object = new Object() ;//记录返回数据的对象m_size.w = (e_node.x - s_node.x) ;//终点与起点横坐标的差m_size.h = (e_node.y - s_node.y) ;//终点与起点纵坐标的差if(Math.abs(m_size.w) >Math.abs(m_size.h)) { r_data.length = Math.abs(m_size.w) ;}else{ r_data.length = Math.abs(m_size.h) ;} //如果横坐标之差大于纵坐标之差,r_data.length为横坐标之差;如果横坐标之差小于或等于纵坐标之差,r_data.length为纵坐标之差;m_r = Math.sqrt(m_size.w * m_size.w + m_size.h * m_size.h) ;//求起点到终点的直线距离pR = Math.acos(m_size.w / m_r) ;//求向量的方向余弦if(e_node.y - s_node.y <0) { pR = -pR ;} //如果终点在起点左侧,则将pR取反m_R = pR * 180 / Math.PI ;//pR是弧度值,将其转换成角度//以下按照不同的情况,为r_data的各项属性复制,作为函数的返回值 收起