导入Flashpaper并增加Loading进度条

发布于:
分类: Script

高手自动飘过。。。根据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%

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注