javascript - Action Script 3. 如何从Flash中的Movie Clip访问按钮?

标签 javascript actionscript-3 flash actionscript movieclip

我有一个名为mClipMyMovieClip。 mClip 内部有 2 个按钮,名称为:btn1 btn2

mc

我需要在我的 ActionScript 代码中访问这些按钮。我已经声明了:

var mClip:MyMovieClip = new MyMovieClip();
var btn1:MyButton1 = new MyButton1();
var btn2:MyButton2 = new MyButton2();

我尝试了两种方法,但都失败了:

1.

mClip.btn1.addEventListener(MouseEvent.CLICK, popUp1);
mClip.btn2.addEventListener(MouseEvent.CLICK, popUp2);

function popUp1(event:MouseEvent):void {
   trace("test 1");
}
function popUp2(event:MouseEvent):void {
   trace("test 2");
}

2.

btn1.addEventListener(MouseEvent.CLICK, popUp1); //removed mClip
btn2.addEventListener(MouseEvent.CLICK, popUp2); //removed mClip

function popUp1(event:MouseEvent):void {
   trace("test 1");
}
function popUp2(event:MouseEvent):void {
   trace("test 2");
}

我没有收到任何错误,只是单击按钮后没有任何反应。请问你能帮帮我吗?谢谢

最佳答案

这就是可能发生的情况。尽管我必须做出以下假设:

  1. 您正在使用 flash pro
  2. 在 flash pro 中,您创建了一个影片剪辑,将其放置在主时间轴上,并为其指定实例名称 mClip
  3. mClip 时间轴上,您创建了两个按钮,并为它们指定了实例名称 btn1btn2
  4. 您的所有代码都位于主时间轴上。

当您执行以下操作时:

var mClip:MyMovieClip = new MyMovieClip();
var btn1:MyButton1 = new MyButton1();
var btn2:MyButton2 = new MyButton2();

您实际上是在告诉 flash 获取这些名称(mClip、btn1、btn2)并为它们分配NEW 对象(旧的对象仍然存在,但变量引用您已经创建的新对象)刚刚创建 - 因此您将点击事件添加到不在屏幕上的对象)。

当您将影片剪辑添加到时间轴并为其指定一个实例名称时,它在幕后的操作实际上与该代码相同。删除这三行,您第一次尝试的代码就可以工作了。 (假设我的上述所有假设都是正确的,如果不正确,请告知)

关于javascript - Action Script 3. 如何从Flash中的Movie Clip访问按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24018220/

相关文章:

javascript - 更改 YouTube 中嵌入的 Flash 对象的来源

javascript - 是否可以将 JavaScript/jQuery 图片库转换为 .Swf 格式?还是进入其他 "non-browser"介质?

javascript - 在 Javascript 中创建切换效果

apache-flex - Flex - 垂直放置水平 HBox 的子项

javascript - 加速 Ajax 成功 DOM 操作

actionscript-3 - 在AS3中将符号添加到阶段出现1046错误

actionscript-3 - 我认为Soundtransform无法正常工作

java - Yfiles 图表从 flash 迁移到 html5?

javascript - Leaflet Contextmenu - 如何在执行回调函数时传递标记引用(非geoJSON标记)

javascript - 将 JSON 响应存储为数组以用于计算 : Javascript