所以,我正在制作自己的顺序加载程序。它对 SWF、FLV 和图像文件具有不同的功能。现在,为了使其顺序化(一个接一个地加载),我将使用 loader.contentLoaderInfo 事件,这两个事件称为 COMPLETE 和 INIT。经过一番阅读,我了解到这两个事件在加载的“完整性”方面都有一些弱点。INIT 似乎是图像的更好选择,而 COMPLETE 则适用于 SWF(我不确定哪个更适合 FLV)。差异很小,但我担心未来的问题。你能给我一个建议吗?
1 回答
我使用完整事件作为图像已为批处理图像加载器加载的标志,我将其作为演示项目放在一起尝试为游戏预加载数据,代码可以在这里看到(抱歉项目命名不佳,他们总是从别的东西开始:)
http://www.shaunhusain.com/DrawTextRandomly/srcview/
演示在这里:http ://www.shaunhusain.com/DrawTextRandomly/
在 src/util/imageLoading/BatchImageLoader.as
我基本上设置了这个类,所以我会给它一个从中加载图像的文件夹和一个要填充的集合,然后告诉它图像集的开始和结束编号是什么,这些图像是由 Blender 使用它的默认文件命名方案生成的每帧使用 0 填充计数,因此我能够使从搅拌机导出的动画轻松加载到集合中,以后可以用来制作翻书式动画。
让我知道这是否有帮助,或者您正在寻找我可能能够回答的更具体的内容。我通常使用 complete 来了解何时加载数据,而不管数据类型如何,并且没有遇到任何问题(加载的图像、mp3、flvs、xml,我非常依赖 COMPLETE 来了解数据何时可以毫无问题地进行操作,所以到目前为止,总是可能有我没有遇到过的边缘情况)。
从文章中的一些内容来看,似乎 init 在完整数据可用之前可能会在完成之前被触发,除非您担心尽早操作对象,否则我认为 COMPLETE 可能是一种更安全的方法。我相信等待 INIT 的问题仅在于您尝试使用 SWFLoader 等本身,而不是直接来自 Loader 的数据(尽管这只是基于文章的猜测)。