当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash5任意两点间随机画线(五)

Flash动画制作
Flash的事件机制:从AsBroadcaster到EventDispatcher
Flash脚本的执行顺序
完全掌握AS中点(.)语法的应用
抗日Flash集之:万里长城永不倒
抗日Flash集之:地道战
抗日Flash集之:抗日新闻
抗日Flash集之:三一八惨案
抗日Flash集之:五四运动
抗日Flash集之:抗日一隅
抗日Flash集之:血染的风采
抗日Flash集之:淞沪抗战
抗日Flash集之:终日到底
抗日Flash集之:东京功略战[游戏]
抗日Flash集之:大中华·1937
抗日Flash集之:长征
抗日Flash集之:抗日宣言
抗日Flash集之:血战钓鱼岛
用Flash MX制作MOV短片
用flash打开本地文件夹
Flash打造迷你特色音乐播放器

Flash动画制作 中的 Flash5任意两点间随机画线(五)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 86 ::
收藏到网摘: n/a

5.3 Actions for MainMovie
// 主程序
// 要点1:鼠标位置属性(_xmouse,_ymouse)
// 要点2:Math Objects
// 日期:2000-09-02
// 作者:kanaka
// Email:[email protected]
     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;
        }
// 设置画线动画的起始坐标 醴疟壤