使用"脚本助手"创建 startDrag/stopDrag 事件

下面的示例将向您展示使用"脚本助手"创建简单的 startDrag/stopDrag 事件的过程。完成此过程之后,在发布的 SWF 文件中就有了一个可在有限矩形内拖动的影片剪辑。

若要了解有关用于创建此示例的方法和函数的详细信息,请参阅"学习 Flash 中的 ActionScript 2.0"。

使用脚本助手创建 startDrag/stopDrag 事件:

  1. 新建一个 Flash 文档,并将其另存为 circle.fla。
  2. 在舞台上绘制一个圆。
  3. 选择舞台上的这个圆,并通过完成以下操作之一将其转换为影片剪辑元件:
    • 选择"修改">"转换为元件"。 
    • 将选中元素拖到"库"面板上。
    • 右击 (Windows) 或者按住 Control 键单击 (Macintosh),然后从上下文菜单中选择"转换为元件"。
  4. 在"转换为元件"对话框中,输入元件名称 circle_mc,然后选择"影片剪辑"行为。有关详细信息,请参阅元件的类型
  5. 单击"确定"。

    Flash 会将该元件添加到库中,并且舞台上的选中元素将成为该元件的实例。

  6. 对于仍处于选中状态的 circle_mc 影片剪辑,在"属性"检查器的"实例名称"文本框中输入实例名称 myCircle。
  7. 将 circle_mc 影片剪辑放在时间轴上。为此请执行以下操作:
    1. 在舞台上选择 circle_mc 影片剪辑。
    2. 选择"修改">"时间轴">"分散到图层"。此菜单命令会向时间轴自动添加一个图层,并将 circle_mc 影片剪辑实例放在时间轴上。它根据元件名称命名新图层,并将其放到现有图层 1 的下方。

  8. 在时间轴中双击图层 1 的名称重命名图层 1,在其名称位置上键入名称"动作"。
  9. 选择"动作"图层中的第一帧。
  10. 选择"窗口">"动作"以显示"动作"面板,然后单击"脚本助手"。"动作"面板进入"脚本助手"模式。
  11. 在"动作"工具箱中,导航到"ActionScript 2.0 类">"影片">"MovieClip">"事件">"onPress",然后双击"onPress"。onPress 方法被添加到"动作"面板中。

  12. 单击"对象"文本框,再单击"目标路径"按钮。
  13. 单击"目标路径"按钮。

    会显示"目标路径"对话框。

  14. 在"目标路径"对话框中,选择 MyCircle 影片剪辑实例,并确保选中了"相对"路径选项。单击"确定"。

  15. 单击"增加"(+) 按钮,然后选择"全局函数">"MovieClip 控制">"startDrag"。
  16. 在"目标"文本框中输入类型
  17. 选中"表达式"和"限制为矩形"复选框。
  18. 在"左"、"上"、"右"和"下"文本框中输入下面的值:左 : 0上 : 0右 : 300下 : 300

    这些值将限制影片剪辑的移动。

  19. 单击"动作"面板中当前插入的代码的最后一行的下方。
  20. 在"动作"工具箱中,导航到"ActionScript 2.0 类">"影片">"MovieClip">"事件">"onRelease",然后双击"onRelease"。onRelease 方法被添加到"动作"面板中。

  21. 单击"对象"文本框,再单击"目标路径"按钮。

    会显示"目标路径"对话框。

  22. 在"目标路径"对话框中,选择 MyCircle 影片剪辑实例,并确保选中了"相对"路径单选按钮。单击"确定"。
  23. 单击"增加"(+) 按钮,然后选择"全局函数">"MovieClip 控制">"stopDrag"。

    完成的代码如下所示:

    this.my_mc.onPress = function() {
    startDrag(this, false, 0, 0, 300, 300);
    
    };
    this.my_mc.onRelease = function() {
    stopDrag();
    
    };
  24. 选择"控制">"测试影片"来测试完成的代码。在"测试影片"窗口中,在创建的圆上移动指针,并在"文本影片"窗口中拖动这个圆。

若要了解有关编写 ActionScript 的详细信息,请参阅"学习 Flash 中的 ActionScript 2.0"。