当前位置:  开发笔记 > 编程语言 > 正文

什么是ActionScript 3 contentloaderinfo?

如何解决《什么是ActionScript3contentloaderinfo?》经验,为你挑选了1个好方法。

我正在构建一个ActionScript 3加载器,它显示Flash加载外部脚本的进度.这是我的代码片段完美无缺,但我有点困惑为什么我需要它:

this.SWFLoader = new Loader();
this.SWFLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, trackProgress);
this.SWFLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
this.SWFLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);

如您所见,我有三个事件侦听器,每个侦听器用于侦听在加载过程中触发的不同事件.

关于上面的代码片段,这是我不确定的:

    contentloaderinfo对象是什么?

    contentloaderinfo对象包含哪些属性?

    为什么我不能用this.SWFLoader.addEventListener()

    什么时候适合使用contentloaderinfo

这是一个我一直很困惑的话题,我还没有得到很好的解释.对不起,问题是崩溃列表.我将奖励任何和所有好的答案.

感谢您的时间.



1> Matt Stein..:

您创建了一个Loader类来进行加载,并且contentLoaderInfo是该类中的一个对象,它跟踪有关正在加载的内容的一些基本信息.它的一些属性是bytesLoaded,bytesTotal,url,loaderURL,和applicationDomain.到目前为止最常用的是bytesLoadedbytesTotal,它可以为您提供方便的百分比.每次ProgressEvent.PROGRESS调用时都会更新这些内容,这使得只有一些图形元素远离预加载器.

contentLoaderInfo对象还有其他方便的事件,您可以订阅(就像您在您的示例中),以了解加载过程何时开始,更新,完成和/或甚至失败.

您可以访问AS3文档以获取更多详细信息:http: //help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Loader.html#contentLoaderInfo

令人困惑的是,它contentLoaderInfo是一个LoaderInfo对象,所以你可以在这里看到它的属性和方法:http: //help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/LoaderInfo.html

您无法使用,this.SWFLoader.addEventListener()因为SWFLoader不会触发该事件.相反,它更加加载友好的child(contentLoaderInfo)就是这样做的 - 因此代码就像它一样工作.

contentLoaderInfo当您需要利用它可用的方法或属性时,适合使用.这可能听起来像一个狡猾的答案,但这是真的.通常,您将编写函数来更新舞台上的元素,让用户了解加载部门正在发生的事情 - 就像您现在一样.

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有