首页 > Flash&Flex > 接龙的Flash入门教程-AS 3.0 外部文件的加载以及Loading过程

接龙的Flash入门教程-AS 3.0 外部文件的加载以及Loading过程

2009年2月12日

关键字:AS 3.0 加载外部文件 Loading

载入过程利用了AS 3.0中的LoaderInfo类,这个类可作用于任何的可显示对象(display object),这个对象里包含了加载过程检测、加载地址、加载对象的内容、加载对象总字节数(和加载过程中的字节数)、加载对象的宽度高度等等非常多的内容。

访问LoaderInfo对象的方法:

  • 访问父级flash.display.Loader对象的contentLoaderInfo属性;
  • 任何一个可显示对象自身(display object)都有loaderInfo属性;

其实,在每个SWF文档的主类的实例都具有loaderInfo属性,每个Loader本身也具有loaderInfo属性,同时loader还有一个contentLoaderInfo属性,这个属性是用来访问被加载Loaded对象的loaderInfo。一句话:
父容器loader的contentLoaderInfo=子对象的loaderInfo

下面是加载外部对象的例子,这段代码是写在时间轴上的。同时注意,这是加载外部文件的加载过程,并不是flash开始时的自身加载,关于自身加载的过程,请关注当空接龙的下一讲内容。

范例代码:

//创建载入请求
var request:URLRequest = new URLRequest(”demo.jpg”);

//创建爱你loader

var loader:Loader = new Loader();

//创建显示进度的文本框

var loadText:TextField=new TextField();

//调用加载过程的事件侦听器

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+”%”);

loadText.text=”Loading: “+percentLoaded+”%”

}

//加载完成后删掉进度显示文本框

function loadComplete(event:Event):void {

trace(”Complete”);
removeChild(loadText);

}

//把文本框放置到舞台上

addChild(loadText);

//开始加载内容

loader.load(request);

//把加载的内容放置到舞台上

addChild(loader);

  • No Related Post

猫嗔 Flash&Flex

  1. 目前还没有任何评论.
  1. 目前还没有任何 trackbacks 和 pingbacks.
订阅评论

*
请填写图片中的算术答案,如果你看不清楚可以点击图片收听朗读。
Click to hear an audio file of the anti-spam equation