documentation for Loader in the Actionscript 3.0 reference似乎与自相矛盾。
- 当文件完成下载时,但在加载的影片剪辑的方法和属性可用之前,将调度
complete
事件。
根据第一点,complete
事件表示文件已完成下载。我们正在加载swf
文件,并使用complete
事件表示已加载。然而,我们发现在某些情况下,我们无法获得正在加载的资源。文档中的这一行对我们来说很有意义,因为我们遇到了这个问题,并且我们计划转而使用init
事件。
然后文件继续说:
- 在加载的SWF文件的属性和方法可访问后调度
init
事件,因此您可以开始操作加载的SWF文件。此事件在complete
处理程序之前调度。在流式SWF文件中,init
事件可能比完整事件更早发生。在大多数情况下,请使用init
处理程序。
这对我们来说也很有意义,只是它说init
事件是在complete
处理程序之前调度的。这对我们没有意义,因为这似乎与自己相矛盾。如果在加载的影片剪辑的方法和属性可用之前调度complete
事件,并且在加载的SWF文件的属性和方法可访问后调度init
事件,则{{1}如何调度1}}事件在init
事件之前调度?
我很想听到更频繁地处理这些事件的人,并且可以澄清关于这一点的文档。以下是有关此文档和过程的具体问题:
complete
和complete
事件的含义有何区别?init
处理程序之前调度此[init
]事件。”这是否告诉我们在调度complete
事件之前暂停处理complete
事件?文档还明确指出,“对于大多数用途,请使用init
处理程序。”因此,我们至少期望将我们的软件从使用init
更改为使用complete
。我们可能只是等待两者,特别是如果我们看到它们在我们的测试中有不同的顺序。但我仍然在寻找一些理智。希望有人可以提供这个吗?
答案 0 :(得分:1)
不应该将事件侦听器附加到Loader的LoaderInfo对象吗?
Event.COMPLETE documentation说:
成功加载数据后调度。换句话说,它是 在下载所有内容并加载后调度 已完成。始终在 init 之后调度完整事件 事件。当对象准备好时,将调度 init 事件 访问,虽然内容可能仍在下载。
简化说明:
当第一帧的所有“图层”(包括代码和资源)都已加载时调度Event.INIT
在所有帧完成加载后调度Event.COMPLETE。