| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > ActionScript教程 > 文章正文 用户登录
Flash Remoting -
Flash2k4+CF制作留
用Flash MX制作MO
MOMO源码
CFMX For F2K4 We
在flash中构建asp
ViewletBuilder 4
flashremoting实践
Flash MX 2004 vi
Flash8 Remoting 

MovieClipLoader的事件处理秒差           

MovieClipLoader的事件处理秒差

作者:佚名 来源:不详 更新:2007-1-13 20:36:59 错误报告 我要投稿
     最近因为公司一个小案子上出的问题,研究了一下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("onLoadError : "+GetTime());  
         status_txt.text += "onLoadError : "+GetTime()+"\n";  
      }  
   };  
   my_mcl.addListener(myListener);  
    按钮触发  
    代码:
on (release) {  
   TryLoader("自己找个网路远端的档案");  
    我透过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毫秒。
文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。