如何在运行某些代码之前等待 flash (as2) 加载子元素?

Posted

技术标签:

【中文标题】如何在运行某些代码之前等待 flash (as2) 加载子元素?【英文标题】:How do I wait for flash (as2) to load child elements before running some code? 【发布时间】:2011-10-19 16:59:47 【问题描述】:

在舞台上,我有七个按钮。我想在这些按钮上添加事件,但是其中大多数是“未定义”/null。如何在执行任何操作之前等待 as2 中的阶段或 _root 完成加载子元素。

是否有相当于 flex 3 applicationComplete 的功能? <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" applicationComplete="init()">

【问题讨论】:

原来我有一个重复的实例名称。修复该问题并将按钮移动到不同的图层和框架后,它开始工作。即使将元素恢复原状,我也无法重现问题。 我仍然很好奇如何做到这一点。 除非您动态加载它们,否则时间轴上的脚本将在整个帧加载完毕后才会触发。如果你使用了一些类代码,任何事情都可能发生,这取决于你的类中的代码在做什么。所以基本上,你抛出了随机的实例名称,因此它们失败了。这个“applicationComplete”可以近似为 _root.getBytesLoaded() 和 _root.getBytesTotal()... 另外,你将不得不写一个更好的问题来获得有意义的答案。您在 5 分钟内没有得到任何答案的原因是因为问题根本不是问题 :) 你完美地回答了我的问题。我将不得不更加努力地提出更简洁的问题,同时充分描述情况,而不会让读者感到困惑。您可以将投票的评论作为答案发布,以便我接受吗?提前致谢。 【参考方案1】:

为确保您的影片剪辑是使用所有子级创建的,您应该使用 onLoaded 处理程序。 http://help.adobe.com/en_US/as2/reference/flashlite/WS5b3ccc516d4fbf351e63e3d118cd9b5f6e-7868.html

如果将代码放在fla框架中,遇到这样的问题很奇怪。

【讨论】:

以上是关于如何在运行某些代码之前等待 flash (as2) 加载子元素?的主要内容,如果未能解决你的问题,请参考以下文章

Adobe flash (AS2):如何制作一个永远重复的循环,并且每 5 秒复制一个影片剪辑?

如何在 AS2 中获取加载的 swf 舞台的宽度/高度?

在 AS3 中动态加载 AS2 文件 - 如何判断文件是不是为 AS2

Flash 8 (AS2) 中的 FLVPlayback 组件并支持高清 H.264 视频

使用 AS2 在 flash 上引入 php 变量的简单方法

从动态文本 AS2 Flash 链接到 swf