如何做自定义Loading加载其它swf
发布时间:2020-12-15 18:08:47 所属栏目:百科 来源:网络整理
导读:const FILE_PATH:String="main.swf";const CLASS_NAME:String="MainSwf"; var loader:Loader;var request:URLRequest; loader = new Loader();request=new URLRequest(FILE_PATH);loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);loa
const FILE_PATH:String="main.swf"; const CLASS_NAME:String="MainSwf"; var loader:Loader; var request:URLRequest; loader = new Loader(); request=new URLRequest(FILE_PATH); loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,onProgress); loader.load(request); function onComplete(e:Event):void { var domain:ApplicationDomain=e.target.applicationDomain as ApplicationDomain; var swfClass:Class=domain.getDefinition(CLASS_NAME) as Class; var swfInstance:Sprite = (new swfClass()) as Sprite; swfInstance.x=0; swfInstance.y=0; //卸掉舞台上现有的东西 var _childCount = numChildren; for (var i:int=_childCount-1; i>=0; i--) { this.removeChildAt(i); } //加载刚下载的动画 this.addChild(swfInstance); } function onProgress(e:ProgressEvent) { //trace(e); label1.text = "正在加载," + e.bytesLoaded + " / " + e.bytesTotal + ", " + (Math.round( (100 * e.bytesLoaded / e.bytesTotal) / 0.01) * 0.01) + " %"; } stop(); 解释:as3中每个fla都可以对应一个.as文件,用于实现代码界面分离,上面代码中的CLASS_NAME即为.as文件中定义的类名 注意:如果在Main.fla中用到了系统组件(比如TileList之类),最好在Loading.fla中也拖一个出来到舞台上,然后删除,否则在loading中加载main的实例时,会出一些莫名其妙的问题! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |