日期:2012-11-3 浏览次数:20182次

最近由于公司一个小案子上出的问题,研讨了一下MovieClipLoader这东西的特性,  发觉到onLoadComplete的意义不等于onLoadInit。

    也就是说,普通逻辑思考下,档案都下载完了,应该就能用这件事情,在这里是错的。 

    好比说onLoadComplete事件被触发的时候,被载入的档案的frame label其实还无法使用,  感觉上onLoadComplete只是侦测档案被完全下载到记忆体中。 

    后来一时猎奇加上好玩,我就想说,那来看看这两个事件被触发的秒差吧~

var my_mcl:MovieClipLoader = new MovieClipLoader();  
var myListener:Object = new Object();  
contenter_mc._visible = 0;  
function GetTime() {  
   var GTi:Date = new Date();  
   //var tmp = GTi.getTime();  
   var tmp = "";  
   tmp += GTi.getFullYear()+" : ";  
   tmp += GTi.getMonth()+1+" : ";  
   tmp += GTi.getDate()+" : ";  
   tmp += GTi.getDay()+" : ";  
   tmp += GTi.getHours()+" : ";  
   tmp += GTi.getMinutes()+" : ";  
   tmp += GTi.getSeconds()+" : ";  
   tmp += GTi.getMilliseconds();  
   return tmp;  
}  
function TryLoader(file) {  
   my_mcl.loadClip(file, contenter_mc);  
   myListener.onLoadStart = function(ok) {  
      if (ok) {  
         trace("onLoadStart : "+GetTime());  
         status_txt.text += "onLoadStart : "+GetTime()+"\n";  
      }  
   };  
   myListener.onLoadProgress = function(ok) {  
      get_txt.text = my_mcl.getProgress(contenter_mc).bytesLoaded;  
      all_txt.text = my_mcl.getProgress(contenter_mc).bytesTotal;  
   };  
   myListener.onLoadComplete = function(ok) {  
      if (ok) {  
         trace("onLoadComplete : "+GetTime());  
         status_txt.text += "onLoadComplete : "+GetTime()+"\n";  
      }  
   };  
   myListener.onLoadInit = function(ok) {  
      if (ok) {  
         trace("onLoadInit : "+GetTime());  
         status_txt.text += "onLoadInit : "+GetTime()+"\n";  
         contenter_mc._visible = 1;  
      }  
   };  
   myListener.onLoadError = function(ok) {  
      if (ok) {  
         trace("onLoad