flex加载外部swf文件.doc_第1页
flex加载外部swf文件.doc_第2页
flex加载外部swf文件.doc_第3页
flex加载外部swf文件.doc_第4页
flex加载外部swf文件.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

济南盛世动漫游戏影视专修学院 flex加载外部swf文件引自: /news/LT/188.html第一步:建立加载类CtmObjLoader,此类可以加载文件类型 图片文件或swf文件package import flash.display.DisplayObject; import flash.display.Loader; import flash.events.*; import .URLRequest; import mx.core.UIComponent; public class CtmObjLoader extends UIComponent private var ProgressHandle:Function=null; public var loader:Loader; public var _bLoaded:Boolean=false; public var _bShow:Boolean=true; /UrlRequest 加载的地址 /progressHandle 加载中的处理过程 /bShow 加载后是否显示出来 public function CtmObjLoader(UrlRequest:String=null,progressHandle:Function=null,bShow:Boolean=true) super(); if(UrlRequest)LoadThis(UrlRequest,progressHandle,bShow); public function LoadThis(UrlRequest:String,progressHandle:Function=null,bShow:Boolean=true):void RemoveChild(); loader = new Loader(); _bShow=bShow; ProgressHandle=progressHandle; configureListeners(loader.contentLoaderInfo); if(_bShow)addChild(loader);/如果需要显示,则addchild var request:URLRequest = new URLRequest(UrlRequest); loader.load(request); public function UnLoadThis():void try RemoveChild(); this.parent.removeChild(this); catch(e:Error) /this=null; public function get content():DisplayObject if(!_bLoaded)return null; return loader.content; public function RemoveChild():void if(_bLoaded) try DeleteListeners(loader.contentLoaderInfo); loader.unload(); if(_bShow)removeChild(loader); loader=null; _bLoaded=false; catch(e:Error)throw new Error(Define ObjLoader Remove Error) private function configureListeners(dispatcher:IEventDispatcher):void dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); if(ProgressHandle!=null)dispatcher.addEventListener(ProgressEvent.PROGRESS, ProgressHandle); private function DeleteListeners(dispatcher:IEventDispatcher):void if(dispatcher.hasEventListener(Event.COMPLETE)dispatcher.removeEventListener(Event.COMPLETE, completeHandler); if(dispatcher.hasEventListener(HTTPStatusEvent.HTTP_STATUS)dispatcher.removeEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); if(dispatcher.hasEventListener(IOErrorEvent.IO_ERROR)dispatcher.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); if(dispatcher.hasEventListener(ProgressEvent.PROGRESS) if(ProgressHandle!=null)dispatcher.removeEventListener(ProgressEvent.PROGRESS, ProgressHandle); private function completeHandler(event:Event):void this.width=loader.content.width; this.height=loader.content.height; _bLoaded=true; dispatchEvent(new Event(Event.COMPLETE); private function httpStatusHandler(event:HTTPStatusEvent):void dispatchEvent(new Event(HTTPStatusEvent.HTTP_STATUS); private function ioErrorHandler(event:IOErrorEvent):void dispatchEvent(new Event(IOErrorEvent.IO_ERROR); 第二步:建立加载flash as3 swf文件类/此类专提供flash as3 swf文件加载,flex swf不需要,当然也可以写成一个类,我习惯这样package import flash.display.MovieClip; public class mySwfLoader extends CtmObjLoader public function mySwfLoader(UrlRequest:String=null, progressHandle:Function=null, bShow:Boolean=true) super(UrlRequest, progressHandle, bShow); public function get movieClip():MovieClip if(!_bLoaded)return null return content as MovieClip; 第三步:建立flex主文件1mainforflex.mxml加载flex swf外部文件用 第四步:建立flex swf子文件flexchild.mx

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论