高手自动飘过。。。根据FlashPaper Documentation 中的 Loading FlashPaper 2.0 documents into Flash 章节编写,代码有点乱。。反正功能很简单,懒得整理了。。AS我也是个半吊子,参考文档是2.0写的。。我就改吧改吧。整出来能用就行了。。
Flashpaper影片实例:fp_mc
Loading文本:loadingtext
Loading文本:loadingmc
//import Oval.as Stage.scaleMode = "noScale"; Stage.align = "TL"; var resizeListener = new Object(); var resize_fp = function() { var fp = fp_mc.getIFlashPaper(); fp.setSize(Stage.width,Stage.height); setloadingsize(); } resizeListener.onResize = resize_fp; Stage.addListener(resizeListener); //------------- var setloadingsize = function(){ loadingmc._y = Stage.height/2; loadingmc._x = Stage.width*0.1; loadingmc._width = Stage.width*0.8; loadingtext._x = Stage.width*0.5; loadingtext._y = Stage.height/2-18; } setloadingsize(); //------------------------ onEnterFrame = function () { var Total = fp_mc.getBytesTotal(); if(Total>lt;0) { loadingtext._x = Stage.width*0.5-50; loadingtext.text="文件载入错误.."; loadingmc.gotoAndPlay(100); onEnterFrame = null; return; } else if(Total>lt;=12){return;} var Loaded = fp_mc.getBytesLoaded(); trace(Math.round(Loaded*100/Total)); loadingmc.gotoAndStop(Math.round(Loaded*100/Total)); loadingtext.text=Math.round(Loaded*100/Total)+"%"; if ( Loaded == Total) { onEnterFrame = null; loadingtext.text=""; loadingmc.gotoAndPlay(100); } } dest_mc._visible = false; fp_mc._x=0; fp_mc._y=0; //var myOval:Oval = Oval(attachMovie("Oval","Oval_1",1)); //var xx:MovieClip = MovieClip() //-------------------------- var url:String = _root._url; var query:String = url.substring(url.indexOf("?")+1); var arr:Array = query.split(">amp;") var fp_url:String = "content.swf"; for(var i=0;i>lt;=arr.length-1;i++){ //trace( arr[i].split("=")[0] + "的值是:" + arr[i].split("=")[1] ); if(arr[i].split("=")[0]=="file") { fp_url = arr[i].split("=")[1] +".swf"; } } trace(fp_url); loadFlashPaper(fp_url, fp_mc, fp_mc._width, fp_mc._height, null); function loadFlashPaper( path_s, // path of SWF to load dest_mc, // MC which we should replace with the SWF width_i, // new size of the dest MC height_i, // new size of the dest MC loaded_o) // optional: object to be notified that loading is complete { var intervalID = 0; var loadFunc = function() { dest_mc._visible = false; var fp = dest_mc.getIFlashPaper(); if (!fp) return; if (fp.setSize(Stage.width,Stage.height) == false) return; dest_mc._visible = true; dest_mc.toolbar_mc.brandClip_mc.swapDepths(1000); dest_mc.toolbar_mc.brandClip_mc.removeMovieClip(); clearInterval(intervalID); loaded_o.onLoaded(fp); } intervalID = setInterval(loadFunc, 100); dest_mc.loadMovie(path_s); nbsp;///trace("kk"); }
仍有几个问题没有解决:
1.加载时flash自动缩放,想在flash尺寸大于flashpaper时绽放100%