Actionscript 3 使用加载程序时,complete和init事件之间的关系是什么?

Actionscript 3 使用加载程序时,complete和init事件之间的关系是什么?,actionscript-3,events,flash,Actionscript 3,Events,Flash,这似乎自相矛盾 complete事件在文件下载完成后,但在加载的电影剪辑的方法和属性可用之前发送 根据第一点,complete事件表示文件已完成下载。我们正在加载一个swf文件,并使用complete事件来表示它已加载。然而,我们发现,在某些情况下,我们所装载的资源对我们来说是不可用的。文档中的这一行对我们来说很有意义,因为我们为什么会遇到这个问题,我们计划改用init事件 但随后,文件中继续说: init事件在加载的SWF文件的属性和方法可访问后被调度,因此您可以开始操作加载的SWF文件

这似乎自相矛盾

  • complete
    事件在文件下载完成后,但在加载的电影剪辑的方法和属性可用之前发送
根据第一点,
complete
事件表示文件已完成下载。我们正在加载一个
swf
文件,并使用
complete
事件来表示它已加载。然而,我们发现,在某些情况下,我们所装载的资源对我们来说是不可用的。文档中的这一行对我们来说很有意义,因为我们为什么会遇到这个问题,我们计划改用
init
事件

但随后,文件中继续说:

  • init
    事件在加载的SWF文件的属性和方法可访问后被调度,因此您可以开始操作加载的SWF文件。此事件在
    完成
    处理程序之前调度。在流式SWF文件中,
    init
    事件可能比完整事件发生得更早。对于大多数情况,请使用
    init
    处理程序
这对我们来说也是有意义的,只是它说
init
事件是在
complete
处理程序之前调度的。这对我们来说没有意义,因为这似乎自相矛盾。如果在加载的电影剪辑的方法和属性可用之前调度
complete
事件,并且在加载的SWF文件的属性和方法可访问之后调度
init
事件,那么如何在
complete
事件之前调度
init
事件

我很想听听那些更经常处理这些事件的人的意见,他们能够澄清关于这一点的文档。以下是我关于此文档和流程的具体问题:

  • complete
    init
    事件的含义有什么区别
  • 文档中使用“事件”和“处理程序”这两个词是否重要?i、 e.“此[
    init
    ]事件在
    complete
    处理程序之前被调度。”这是否告诉我们在
    init
    事件也被调度之前不要处理
    complete
    事件

文档还明确指出,“在大多数情况下,使用
init
处理程序。”因此,至少我们希望将软件从使用
complete
改为使用
init
。我们可能会等待两者,尤其是当我们在测试中看到它们以不同的顺序出现时。但我仍然在这里寻找一些理智。希望有人能提供此功能?

事件侦听器不应该附加到加载器的LoaderInfo对象吗

事件完成说明:

成功加载数据时已调度。换言之,是的 在下载所有内容并加载时发送 已经完成了。complete事件总是在init 事件init事件在对象准备就绪时被调度 访问,但内容可能仍在下载中

简化的解释是:

  • 当加载第一帧的所有“层”(包括代码和资源)时,将调度Event.INIT

  • 当所有帧完成加载时,发送Event.COMPLETE


这很奇怪,很有吸引力。我认为
complete
描述中的“但是…”只是一个错误,因为我相当肯定我从未见过
complete
init
之前触发,并且事件本身的描述(在Loader.load()部分)更清楚。