关于FLASHCS3 LOADER的使用

Loader 类提供了一种加载 SWF 文件和图像资源的单一机制,并提供了一种访问已加载内容的详细信息的方法。
 
加载显示对象
var pictLdr:Loader = new Loader(); var pictURL:String = "banana.jpg" var pictURLReq:URLRequest = new URLRequest(pictURL); pictLdr.load(pictURLReq); this.addChild(pictLdr);

加载 SWF 文件或图像后,即可将加载的显示对象移到另一个显示对象容器中,例如本示例中的 container DisplayObjectContainer 对象:

import flash.display.*;
import flash.net.URLRequest;
import flash.events.Event;
var container:Sprite = new Sprite();
addChild(container);
var pictLdr:Loader = new Loader();
var pictURL:String = "banana.jpg"
var pictURLReq:URLRequest = new URLRequest(pictURL);
pictLdr.load(pictURLReq);
pictLdr.contentLoaderInfo.addEventListener(Event.COMPLETE, imgLoaded);
function imgLoaded(event:Event):void
{
container.addChild(pictLdr.content);
}

关于LoaderInfo对象
 
文件开始加载后,就创建了 LoaderInfo 对象。LoaderInfo 对象用于提供加载进度、加载者和被加载者的 URL、媒体的字节总数及媒体的标称高度和宽度等信息。LoaderInfo 对象还调度用于监视加载进度的事件。

下图说明了 LoaderInfo 对象的不同用途 ― 用于 SWF 文件的主类的实例、用于 Loader 对象以及用于由 Loader 对象加载的对象:

 

可以将 LoaderInfo 对象作为 Loader 对象和加载的显示对象的属性进行访问。加载一开始,就可以通过 Loader 对象的 contentLoaderInfo 属性访问 LoaderInfo 对象。显示对象完成加载后,也可以将 LoaderInfo 对象作为加载的显示对象的属性通过显示对象的 loaderInfo 属性进行访问。已加载显示对象的 loaderInfo 属性是指与 Loader 对象的 contentLoaderInfo 属性相同的 LoaderInfo 对象。换句话说,LoaderInfo 对象是加载的对象与加载它的 Loader 对象之间(加载者和被加载者之间)的共享对象。

要访问加载的内容的属性,需要在 LoaderInfo 对象中添加事件侦听器,如下面的代码所示:

import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
var ldr:Loader = new Loader();
var urlReq:URLRequest = new URLRequest("Circle.swf");
ldr.load(urlReq);
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);
addChild(ldr);
function loaded(event:Event):void
{
var content:Sprite = event.target.content;
content.scaleX = 2;
}

LOADER.content
对包含所加载文件的内容的影片剪辑实例的引用。在加载开始前该值为 undefined。请为 Loader.complete 事件的事件处理函数中的内容设置属性。
posted @ 2009-03-15 12:14  蓝魔  阅读(431)  评论(0)    收藏  举报