【问题标题】:drag and drop using action script使用动作脚本拖放
【发布时间】:2020-03-12 14:36:27
【问题描述】:

我正在尝试使用 flash8 通过鼠标创建拖放事件。

我的代码是:

import flash.events.MouseEvent;
circle_mc.addEventListener(MouseEvent.MOUSE_DOWN,downf);
circle_mc.addEventListener(MouseEvent.MOUSE_UP,upf);
function downf(e:MouseEvent) { circle_mc.startDrag(); }
function upf(e:MouseEvent) { circle_mc.stopDrag(); }

我收到以下错误:

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 3: Statement must appear within on/onClipEvent handler
     circle_mc.addEventListener(MouseEvent.MOUSE_DOWN,downf); 

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 4: Statement must appear within on/onClipEvent handler
     circle_mc.addEventListener(MouseEvent.MOUSE_UP,upf);

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 5: The class or interface 'MouseEvent' could not be loaded.
     function downf(e:MouseEvent) {

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 7: The class or interface 'MouseEvent' could not be loaded.
        function upf(e:MouseEvent) { circle_mc.stopDrag(); }

Total ActionScript Errors: 4     Reported Errors: 4

我不明白为什么会这样。在网上我发现这个错误可能是由于AS3或AS2的版本引起的,但我也找不到我使用的版本。

感谢任何帮助。

【问题讨论】:

    标签: actionscript mouseevent drag


    【解决方案1】:

    您发布的代码显然是 AS3,但由于您使用的是 Flash 8,因此您只能使用 AS2。不过没问题,你当然可以使用 AS2 来实现。

    1. 使用椭圆工具画一个圆,然后使用选择工具选择它
    2. 按 F8 将其转换为符号并按 OK
    3. Properties 面板中为实例命名,例如circle_mc
    4. 打开 Actions 窗口 (F9) 并选择 Scene 1 -> Layer 1 : Frame 1
    5. 粘贴以下代码
    circle_mc.onPress = function()
    {
        开始拖动(这个,真);
    }
    circle_mc.onRelease = 函数()
    {
        this.stopDrag();
    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-21
      • 1970-01-01
      • 2012-07-12
      相关资源
      最近更新 更多