使用动作脚本拖放
Posted
技术标签:
【中文标题】使用动作脚本拖放【英文标题】: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的版本引起的,但我也找不到我使用的版本。
感谢任何帮助。
【问题讨论】:
【参考方案1】:您发布的代码显然是 AS3,但由于您使用的是 Flash 8,因此您只能使用 AS2。不过没问题,你当然可以使用 AS2 来实现。
-
使用椭圆工具画一个圆,然后使用选择工具选择它
按 F8 将其转换为符号并按 OK
在 Properties 面板中为实例命名,例如circle_mc
打开 Actions 窗口 (F9) 并选择 Scene 1 -> Layer 1 : Frame 1
粘贴以下代码
circle_mc.onPress = function() 开始拖动(这个,真); circle_mc.onRelease = 函数() this.stopDrag();
【讨论】:
以上是关于使用动作脚本拖放的主要内容,如果未能解决你的问题,请参考以下文章
在 Mac 上,如何为 python 脚本创建一个拖放应用程序,其中脚本名称而不是 Python 显示在菜单栏(等)中?