gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 12:29:19 24 4
gpt4 key购买 nike

我有一个名为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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com