江西广告网

标题: Flash5任意两点间随机画线(五) [打印本页]

作者: 月芽儿    时间: 2009-1-5 09:00
标题: Flash5任意两点间随机画线(五)
5.3 Actions for MainMovie // 主程序 // 要点1:鼠标位置属性(_xmouse,_ymouse) // 要点2:Math Objects // 日期:2000-09-02 // 作者:kanaka // Email:kanaka@yeah.net      onClipEvent (mouseUp) {       if (_root.FirstPointDrew == 0) { // 读取起点的坐标         x1 = _xmouse;         y1 = _ymouse; // 如果已经画过一条线,则将线和两个点都删除,以保持场景清洁         if (_root.LineDrew == 1) {          removeMovieClip (point1);          removeMovieClip (point2);          removeMovieClip (line1);         } // 在起点坐标上画一个点         duplicateMovieClip (point, "point1", 1);         setProperty (point1, _x, x1);         setProperty (point1, _y, y1); // 起点已经画出         _root.FirstPointDrew = 1;       } else { // 读取终点的坐标         x2 = _xmouse;         y2 = _ymouse; // 在终点坐标上画一个点         duplicateMovieClip (point, "point2", 2);         setProperty (point2, _x, x2);         setProperty (point2, _y, y2); // 终点已经画出,置 FirstPointDrew 为 0         _root.FirstPointDrew = 0; // 计算三角形三条边的长度         x = Math.abs(x1-x2);         y = Math.abs(y1-y2);         z = Math.sqrt(x*x y*y); // 计算画线的旋转角度         if ((x1$#@60;x2) and (y1$#@62;y2)) {          angel = Math.atan(y/x)/Math.PI*180;         } else if ((x1>=x2) and (y1$#@60;y2)){          angel = Math.atan(x/y)/Math.PI*180 90;         } else if ((x1>x2) and (y1$#@62;=y2)){          angel = Math.atan(y/x)/Math.PI*180 180;         } else {          angel = 360-Math.atan(y/x)/Math.PI*180;         } // 设置画线动画的起始坐标 醴疟壤托嵌?br>         duplicateMovieClip (line, "line1", 0);         setProperty (line1, _x, x1);         setProperty (line1, _y, y1);         setProperty (line1, _xscale, z/_root.LineWide*100);         setProperty (line1, _rotation, angel); // 画线完成         _root.LineDrew = 1;       }      } [color=red']




欢迎光临 江西广告网 (http://bbs.jxadw.com/) Powered by Discuz! X3.2