网站建设| 数据库类| 图形图象| 程序设计| 现代办公| 操作系统| 考试认证| 网络技术| 软件工程| 电脑相关| 文学作品
网站开发| 网页制作| 操作系统| 图象图形| 考试认证| 数据库类| 程序设计| 硬件技术| 现代办公| 网络技术| 笑话频道
 
您的位置: 电脑书库首页-> 电脑文摘-> 网页制作-> Flash-> FlashMX课件中的拖动

FlashMX课件中的拖动
作者:佚名 来源:InterNet 加入时间:2005-2-20
相关文章
  • Flash基础教程:初学者应用的Flash工具
  • 用Flash实现北京奥运倒计时
  • 用Flash建站的通用思路及步骤
  • Flash背景设定技巧两则
  • 精简Flash文件体积七法
  • 用Flash制作Google搜索程序
  • 创建一个Flash站点的十大技巧
  • 赤手空拳下载Flash
  • 制作Flash网站技巧拾零
  • FLASH-关于变量的问题
  • 相关书籍:
  • Flash MX 2004 动作脚本字典概述
  • Flash音频软件Sound Forge
  • flash高级技巧大揭密
  • Flash初级教材
  • 一步一步学用Flash5
  • flash制作高级教程
  • flash 5 中文帮助
  • Flash 技巧汇粹
  • Flash初级生之全flash站10日搞定
  • 用Flash MX制作交互式的课件时,很多场合都需要用到拖动。在Flash MX中主要的拖动方式有以下三种:无任何约束的拖动、限制在某一矩形范围内的拖动、限制在某一路径上的拖动。下面通过实例加以说明。

      1. 无任何约束的拖动

      (1)打开“插入”菜单的“新建元件”命令,在“创建新元件”对话框中,“名称”框内输入“球”,“行为”选择“影片剪接”。

      (2)画一个圆,最好是让圆心和影片剪接的中心对齐。

      (3)选择主场景,按F11打开“库”面板,将刚制作好的球拖动至主场景中。

      (4)选择主场景中的球,打开窗口下方的“属性”面板,在名称框内输入名称ball。

      (5)右击ball,选择“动作”命令,在代码编辑框内输入:

      on(press)

      {

       startDrag("",true);//允许拖动ball

      }

      on(release, releaseOutside)

      {

       stopDrag();//释放鼠标时,停止拖动ball

      }

      (6)拖动ball,我们将看到ball可以拖动到场景中的任意位置,释放鼠标时,ball将停止拖动。

      2. 约束某一矩形范围内的拖动

      将以上代码改为:

      on(press)

      {

      //限制拖动范围为(0,0)到(100,100)之间,注意坐标原点位于场景中的左上角。

       startDrag("",true,0,0,100,100); }

      on(release, releaseOutside)

      {

       stopDrag();

      }

      再拖动ball,将看到ball被限制在某一区域内拖动。

      3. 沿某一路径的拖动

      在某些场合,如通过拖动动态生成数学函数图像时,因为函数图像都有一个函数式约束,决定了以上两种方法都不可行。这种拖动的关键在于要根据约束条件来决定被拖动对象的位置。下面以动态生成圆来说明此类拖动问题的解决方法。

      (1)通过“插入”菜单制作一个名为“点”的电影剪接,画一个小点表示该电影剪接,注意点的中心和电影剪接的中心点重合。

      (2)转到主场景,新增一图层,将两图层分别命名为“脚本”和“对象”。

      (3)选择“对象”时间轴,在场景中加入两个“点”的实例,在它们的属性面板中分别命名为“yuanxi”(表示圆心)和“dian”(表示圆周上的点),让它们适当保持一定的距离,并且让“yuanxi”位于场景的中央。

      (4)右击“脚本”层第一帧,选择“动作”,在代码编辑窗口内输入以下脚本:

      drag_flag=false;//拖动标志

      x0=yuanxin._x;

      y0=yuanxin._y;

      dian_x=dian._x;

      dian_y=dian._y;

      //计算圆的半径,这就是拖动圆周的点的约束条件,被拖动的点到圆心的距离等于半径。

      r=Math.sqrt((x0-dian_x)*(x0-dian_x)+(y0-dian_y)*(y0-dian_y));

      _root.onEnterFrame =function()

      {

       if (drag_flag)

       {

       x = _xmouse;

       y = _ymouse;

       angle=Math.atan(Math.abs(y0-y)/Math.abs(x-x0));

       dian_x=x0+r*Math.cos(angle);

       dian_y=y0-r*Math.sin(angle);

       //第一象限

       if((x>=x0) &&&& (y<=y0))

       {

       dian_x = x0+r*Math.cos(angle);

       dian_y = y0-r*Math.sin(angle);

       depth=angle*180/3.14159;

       }

       //第二象限

       if((x<=x0) &&&& (y<=y0))

       {

       dian_x=x0-r*Math.cos(angle);

       dian_y=y0-r*Math.sin(angle);

       depth=angle*180/3.14159+90;

       }

       //第三象限

       if((x<=x0) &&&& (y>=y0))

       {

       dian_x=x0-r*Math.cos(angle);

       dian_y=y0+r*Math.sin(angle);

       depth=angle*180/3.14159+180;

       }

       //第四象限

       if((x>=x0) &&&& (y>=y0))

       {

       dian_x=x0+r*Math.cos(angle);

       dian_y=y0+r*Math.sin(angle);

       depth=angle*180/3.14159+270;

       }

       duplicateMovieClip("dian","dian" add depth,depth);

       _root["dian" add depth]._x=dian_x;

       _root["dian" add depth]._y=dian_y;

       _root.clear();

       _root.moveTo(x0,y0);

       _root.lineStyle(1,0xff0000,100);

       _root.lineTo(dian_x,dian_y);

       }

      }

      (5)右击dian实例,选择“动作”命令,输入以下脚本:

      on(press)

      {

       _root.drag_flag=true;//在dian实例上按下鼠标左键,置拖动标志为真。

      }

      on(release, releaseOutside)

      {

       _root.drag_flag=false;//在dian实例上松开鼠标左键,置拖动标志为假。

      }

      (6)测试影片,拖动dian实例,将看到在场景中会画出一个由点构成的圆。

      从此例可以看出,实现沿某一路径的拖动,关键是要通过约束条件找到拖动时的对象的坐标。

    [文章录入员:nancy]

    相关文章
  • Flash基础教程:初学者应用的Flash工具
  • 用Flash实现北京奥运倒计时
  • 用Flash建站的通用思路及步骤
  • Flash背景设定技巧两则
  • 精简Flash文件体积七法
  • 用Flash制作Google搜索程序
  • 创建一个Flash站点的十大技巧
  • 赤手空拳下载Flash
  • 制作Flash网站技巧拾零
  • FLASH-关于变量的问题
  • 相关书籍:
  • Flash MX 2004 动作脚本字典概述
  • Flash音频软件Sound Forge
  • flash高级技巧大揭密
  • Flash初级教材
  • 一步一步学用Flash5
  • flash制作高级教程
  • flash 5 中文帮助
  • Flash 技巧汇粹
  • Flash初级生之全flash站10日搞定
  • 本站推荐内容

    近期主机类热搜关键词:
    美国服务器 美国服务器租用 海外服务器租用 国外服务器租用

    Flash
    DreamWeaver
    FrontPage
    FireWorks
    Flash
    HTML
    其它
    电脑教程阅读排行
    ·Flash入门实例:水滴动画制作
    ·Flash MX 新的闪烁世界(...
    ·Flash基础教程:初学者应用的...
    ·Flash动画基础(入门必看)
    ·Flash基础教程:学Flash...
    ·初学flash守则
    ·Flash课件一网打尽
    ·教你做一个Flash的时钟
    · Flash 动画技术<一...
    ·Flash Mx使用技巧十二则