(1)*创建MoveiClipLoader对象 Myloader= new MovieClipLoader() (2)*然后可以定义一系列加载过程中的侦听器.(侦听器具体使用方法见这篇文章) MovieClipLoader类的侦听器有: MovieClipLoader.onLoadComplete() //在使用 MovieClipLoader.loadClip() 加载的文件已完全下载时调用。 MovieClipLoader.onLoadError() //在使用 MovieClipLoader.loadClip() 加载的文件未能加载时调用。 MovieClipLoader.onLoadInit() //当执行加载的剪辑的第一帧上的动作时调用。 MovieClipLoader.onLoadProgress() //加载过程中每当将加载的内容写入磁盘时调用。 MovieClipLoader.onLoadStart() //当对 MovieClipLoader.loadClip() 的调用已成功开始下载文件时调用。 (3)*最后用Myloader.loadClip()方法加载需要加载的东东~ Myloader.loadClip("url", target/level ) //可以加载到目标影片剪辑或层级 (4)*MovieClipLoader还有一些方法,~ getProgress()方法相对比较重要,她返回的是一个对象,这个对象有以下两个属性 .bytesLoaded //已下载的字节数 .bytesTotal//总字节数 也就是说,这个getProgress方法整合了这两个属性 其他一些方法见下表 MovieClipLoader.addListener() //注册一个对象,以便在调用 MovieClipLoader 事件处理函数时接收通知。 MovieClipLoader.getProgress() //返回使用 MovieClipLoader.loadClip() 正加载的文件的已加载字节数和该文件的总字节数。 MovieClipLoader.loadClip() //在播放原始影片时,将 SWF 或 JPEG 文件加载到 Flash Player 中的影片剪辑中。 MovieClipLoader.removeListener() //删除已使用 MovieClipLoader.addListener() 注册的对象。 MovieClipLoader.unloadClip() //删除已通过 MovieClipLoader.loadClip() 加载的影片剪辑。 例子: on(release){ //当鼠标点击时 var mcl= new MovieClipLoader(); //定义新的MovieClipLoader对象~ var listener = new Object(); //定义一个新的对象,用来监听load进程 listener.onLoadProgress=function(target,loadedBytes,totalBytes ){ //onloadprogress加载过程中每当将加载的内容写入磁盘时调用 //其中loadedBytes是已经下载的字节,totalBytes是正在加在的文件的总字节数 x=loadedBytes y=totalBytes //trace(x+ " bytes已经load了"); //trace(totalBytes + " bytes需要load"); d=x*100/y //计算已经载入的百分比 _root.p._xscale=d //设置进度条的缩放 //if(d==100){ 如果不想使载入的按钮和进度条显示,使用该语句 //_root.p._visible=false //_root.anniu._visible=false //} } listener.onLoadInit = function(target) //当执行加载的剪辑的第一帧上的动作时调用 { if(d<100){ //如果没有加载完成,不要播放 target.stop(); } else { //加载完成,可以设置加载的swf文件开始播放的帧数 target.gotoAndPlay(2); } target._width=400 //设置加载的影片的大小及其位置等相关属性 target._height=350 target._x=25 target._y=50 } mcl.addListener(listener); //注册一个新的监听对象~ mcl.loadClip("http://asp5./wlwy/flash/qfsh.swf",1‘‘‘‘ target="_blank" >http://asp5./wlwy/flash/qfsh.swf",1); //使用自定义的对象,加载swf文件,可以修改哦~ } //定义一个loader MyLoader = new MovieClipLoader(); //这个不用说了吧 MyListener = new Object(); //load完后对mc的初始化,这里我随便设定了一个值_x=0 MyListener.onLoadInit=function(Target_MC){ Target_MC._x=0; trace (Target_MC._x); } //load过程中执的语句,也就是方便我们显示load百分比的了 MyListener.onLoadProgress = function(Target_MC, loadedBytes, totalBytes) { _root.msg2.text = loadedBytes+"---->"+totalBytes; }; //load开始时执行的语句,也就是告诉你,开始load了(废话) MyListener.onLoadStart = function() { _root.msg.text = "Load begin"; }; //load出错时执行的语句 MyListener.onLoadError = function() { _root.msg.text = "Sorry! load error"; }; //load完成执行的语句 MyListener.onLoadComplete = function() { trace ("c"); _root.msg.text = "load completed"; //这里我自己加的,因为在本地的时候load太快,所以执行不了play(执行play的时候,flash认为还没调入, //在网上测试的时候没这问题,如果你发现这里的语句没执行,你不妨试试 function lok(){ _root.loadl.play(); clearInterval(rok); } rok=setInterval(lok,1000); }; //绑定侦听 MyLoader.addListener(MyListener); //这些不用说了吧了 l1.onPress = function() { MyLoader.loadClip("1.swf", _root.loadl); }; l2.onPress = function() { MyLoader.loadClip("2.swf", _root.loadl); }; |
|
来自: ShangShujie > 《rich client》