您当前的位置: 首页 > 网页设计 > Flash教程 > 全局变量让你告别繁琐的路径

全局变量让你告别繁琐的路径

作者:guanchaofeng 来源:不详 发布时间: 2009-10-19 21:30 点击:
有时候,有一些非常重要的MovieClip,比如一些操作信息的提示类型的MC(比如叫做a),需要不断的改变其属性,比如一个文本框。而这些改变又是由许多不同的MC或者Button的一些事件触发的,甚至,触发这些事件的Button和MC在很远的路径,要找到我们这个a,需要

全局变量让你告别繁琐的路径

  有时候,有一些非常重要的MovieClip,比如一些操作信息的提示类型的MC(比如叫做“a”),需要不断的改变其属性,比如一个文本框。而这些改变又是由许多不同的MC或者Button的一些事件触发的,甚至,触发这些事件的Button和MC在很远的路径,要找到我们这个a,需要拐很多弯路。那么这时候,可以在a建立好了之后直接将a保存在一个全局变量中。注意,我们只是保存一个指向,而非一个MC实例。那么,以后再其他路径下对a的操作,则可以把繁琐的_parent.这些全部去掉了。
  当然,关于传统方法和全局变量引用法之间是否存在效率差异,这个还说不清楚。我做过如下测试
  
  _global.r_hint_mc=_root.createEmptyMovieClip("a",1);
  //前缀r,代表reference,指向的意思。
  with(r_hint_mc){
  swapDepths(10);
  }
  with(a){
  trace(getDepth());
  //可见with方法可以成功调用全局MC的指向,深度的确给改变了。
  }
  b.onRelease=function(){
  testa=getTimer();
  trace("called");
  for(varj=1;j<100000;j++){
  r_hint_mc.newArray=newArray()
  r_hint_mc.newArray[j]=r_hint_mc._currentframe
  //theresultisabout2400-2500
  //NobigchangeinMC
  //theresultisabout2250inaMCEvent!!!
  //-----LocalLooking
  //this._parent.a.newArray=newArray();
  //this._parent.a.newArray[j]=r_hint_mc._currentframe;
  //theresultisabout2200-2300
  //theresultisabout2300-2500inaMC!!!!
  //theresultisabout2050inaMCEvent
  }
  trace(getTimer()-testa);
  };
  /*结论:
  全局引用:
  ·在同一个时间轴下,不如传统引用
  ·在不同时间轴下(单独放到MC的时间轴),优越于传统引用
  ·在一个MC事件处理中(并不放到这个MC的时间轴中),不如传统引用
  个人觉得第三种(即事件处理)在比较复杂的应用中最频繁用到,故也体现出全局变量的一些效率劣势,但是相比而言,程序的可维护性着实提高了。

分享到:
本文"全局变量让你告别繁琐的路径"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4