Flash:MovieClipLoader事件处理秒差

2008-04-02 10:53:45来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


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

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

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

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

  

varmy_mcl:MovieClipLoader=newMovieClipLoader();

  varmyListener:Object=newObject();

  contenter_mc._visible=0;

  functionGetTime(){

  varGTi:Date=newDate();

  //vartmp=GTi.getTime();

  vartmp="";

  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();

  returntmp;

  }

  functionTryLoader(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("onLoadError:" GetTime());

  status_txt.text ="onLoadError:" GetTime() "\n";

  }

  };

  my_mcl.addListener(myListener);

  } 按钮触发代码:

  

on(release){

  TryLoader("自己找个URL");

  } 我透过FLASH自己的Date物件去抓我这台电脑上的时间,得到的结果是:

  

onLoadStart:2005:6:2:4:23:42:31:718

  onLoadComplete:2005:6:2:4:23:42:59:718

  onLoadInit:2005:6:2:4:23:42:59:750

  我没注意过onLoadInit一定晚onLoadComplete多少毫秒,但我能确定一定比较晚触发。

  但是两者的毫秒差,似乎每次执行都有些不同,有时候甚至同时(FLASH认为同时)。

  但是在远端的档案已在本地端有「暂存」的状态下,重新整理好几次,都是得到差28毫秒。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: Flash动画制作技巧之如何掌控逐帧动画

下一篇: 时间日期的ActionScript编写