AS3:让加载的 SWF 中的事件侦听器捕获来自父 SWF 的事件

发布于 2024-11-16 17:42:54 字数 432 浏览 4 评论 0原文

这不是AS3:向加载的swf添加事件侦听器,实际上这似乎是非镜像解决方案的镜像情况。

我有一个测试闪存文件,它在第一帧的操作中注册自己的侦听器。

trace("it's going to be OK");
stage.addEventListener(KeyboardEvent.KEY_DOWN, aKey);

不幸的是,当 .swf 加载到另一部电影中时,这两条线都不起作用。 假设在这种情况下 stage 对象是错误的,应该使用哪个对象来获取侦听器?

是否有必要重写父 swf 中的加载程序,如链接问题中所述?

This isn't an exact duplicate of AS3: add event listener to loaded swf, actually it seems to be a mirror situation with non-mirror solution..

I have a test flash file that registers its own listener at first frame's actions.

trace("it's going to be OK");
stage.addEventListener(KeyboardEvent.KEY_DOWN, aKey);

Unfortunately neither line works when .swf is loaded into another movie.
Assuming that stage object is wrong for such situations, which object should be used to get listener?

Is it necessary to rewrite loader in parent swf, as said in the linked question?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

吃兔兔 2024-11-23 17:42:54

在您正在加载的 SWF 中尝试以下操作:

addEventListener(Event.ADDED_TO_STAGE, onAdded);

function onAdded(e:Event):void
{
    stage.addEventListener(KeyboardEvent.KEY_DOWN, onKey);
}

function onKey(e:KeyboardEvent):void
{
    trace('key down');
}

Try this inside the SWF you're loading:

addEventListener(Event.ADDED_TO_STAGE, onAdded);

function onAdded(e:Event):void
{
    stage.addEventListener(KeyboardEvent.KEY_DOWN, onKey);
}

function onKey(e:KeyboardEvent):void
{
    trace('key down');
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文