资讯文章
应用
游戏
首页 应用 游戏 资讯

Flash5任意两点间随机画线(五)

来源:网络 2004/7/11 23:00:00
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;
      }
     }



网友留言

跟帖评论

查看更多评论
最新精选推荐

推荐


孤刀影剑录最新版

刀塔传奇九游手游

乐斗勇士手机版

史莱克卡丁车手机版

疯狂填字2手游

uc浏览器手机版

仁和会计课堂最新版本

极品漫画社app破解版

vsco2019破解版

网易云音乐最新版