ActionScript3中加载外部素材

一、加载素材
   1.使用Loader加载外部数据(Loader与URLLoader相似,但是它一般主要加载和显示图片和swf等,它可以显示加载进来的内容)
   2.用Loader的contentLoaderInfo属性来监听Loader的一系列事件。
   3.Loader类是DisplayObject的子类,想要显示需要将其添加到显示列表,(可以在创建完其对象后添加,也可以在加载完成素材时添加。)
   4.当一个素材不要需要的时候,可以运用Loader的unLoad方法将其卸载。
   5.Loader的contentLoaderInfo属性,有一个IOErrorEvent类,可以监听在加载素材时出现的错误并处理。
   6.加载外部的swf文件。(好处在于可以拥有完整的交互和动画)。
   7.LoaderInfo类

 

二、监视进度
   1.监听ProgressEvent的PROGRESS事件,获得event的bytesLoaded和bytesTotal进行比较,来获得当前加载进度。

 

三、控制外部加载的swf文件
   1.需要将加载进来的swf文件强制转换成为一个movieClip对象,因为通过loader加载进来的swf文件是一个diaplayObject对象,swf需要作为一个movieClip对象才能调用方法、属性和监听事件。
   2.根据转换完的movieClip对象在调用swf文件中的相应的属性和方法,即可达到控制外部swf的目的。

下面贴出段在flash cs5中编写的ActionScript3的代码,以供大家参考

import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;

var imageLoad:Loader = new Loader();
imageLoad.load(new URLRequest("http://www.focusonmedia.com/vqs/as3/cheese_and_crackers.jpg"));//加载外部图片
imageLoad.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
imageLoad.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progressHandler);
imageLoad.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);
addChild(imageLoad);

function progressHandler(evt:ProgressEvent):void{
	var percentage:Number = Math.round((evt.bytesLoaded/evt.bytesTotal)*100);
	trace(percentage);
}

function completeHandler(evt:Event):void{
}

function ioErrorHandler(evt:IOErrorEvent):void{
	trace("加载出错");
}

var swfContainer:MovieClip;
var swfLoad:Loader = new Loader();
swfLoad.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
swfLoad.load(new URLRequest("http://www.focusonmedia.com/vqs/as3/external_movie.swf"));//加载外部的swf文件

function completeHandler(evt:Event):void{
	swfContainer = swfLoad.content as MovieClip;
	swfContainer.setText = "loader swf";
	swfContainer.x = 10;
	swfContainer.y = 50;
	addChild(swfContainer);
	
}



 

发布了36 篇原创文章 · 获赞 3 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/jinxiumeihappy/article/details/14446411