做一个loading预加载的效果相信大家都已经非常熟悉了,不管是用onEnterFrame还是setInterval,还是更高级的 MovieClipLoader。可当开始用AS3的时候,便连一个最简单的loading都无从下手了。是不是AS3中的loader更加复杂,难以控制呢。其实不是的,在AS3中引入了一个全新的类LoaderInfo,这个类可作用于任何的可显示对象(display object),这个对象里包含了加载过程检测、加载地址、加载对象的内容、加载对象总字节数(和加载过程中的字节数)、加载对象的宽度高度等等非常多的内容(内容太多了,更多的大家可以去看帮助)。
有2种方式可以访问LoaderInfo对象:
1)访问flash.display.Loader对象的contentLoaderInfo属性;
2)任何一个可显示对象(display object)都有loaderInfo属性;
注意:每个SWF文档的主类的实例有loaderInfo属性,每个Loader有loaderInfo属性,同时它有一个contentLoaderInfo属性,通过这个属性你可以访问到Loaded对象的loaderInfo。具体可以看下图:
下面还是老习惯,来例子示范。首先来一个loading外部文件的例子:var request:URLRequest = new URLRequest("flashrek.swf");
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
function loadProgress(event:ProgressEvent):void {
var percentLoaded:Number = event.bytesLoaded/event.bytesTotal;
percentLoaded = Math.round(percentLoaded * 100);
trace("Loading: "+percentLoaded+"%");
}
function loadComplete(event:Event):void {
trace("Complete");
}
loader.load(request);
addChild(loader);
这里要注意loader的load方法只接受URLRequest对象作为参数;另外就是ProgressEvent类,比较简单,看帮助就好了。
URL:http://www.qqread.com/flash/2007/05/y312383.html进入讨论组讨论。相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- 把fla文件输出成和swf一样的gif文件 (0次浏览)
- 什么是AS2.0面向对象编程 (0次浏览)
- AS3学习笔记 (0次浏览)
- Flash交互式动画之星座查询器制作 (0次浏览)
- AS3.0的类及绑定 (0次浏览)
- AS3 中的反射 (0次浏览)
- AS3 技巧和提示 (0次浏览)
- 利用引导线制作动态爱心两例 (0次浏览)
- Flash教程:AS下雨动画效果的制作 (0次浏览)
- Flash AS代码常用调试语句trace()的使用 (0次浏览)




