正在加载...

有时候,有一些非常重要的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 (var j = 1; j<100000; j++) {
     r_hint_mc.newArray = new Array()
     r_hint_mc.newArray$[$j$]$=r_hint_mc._currentframe
    // the result is about 2400 – 2500
    // No big change in MC
    // the result is about 2250 in a MCEvent!!!

    //—– Local Looking

    //this._parent.a.newArray = new Array();
    //this._parent.a.newArray[j] = r_hint_mc._currentframe;
    // the result is about 2200 – 2300
    // the result is about 2300 – 2500 in a MC!!!!
    // the result is about 2050 in a MCEvent
  }
  trace(getTimer()-testa);
};[/code]
/* 结论:

全局引用:
·在同一个时间轴下,不如传统引用
·在不同时间轴下(单独放到MC的时间轴),优越于传统引用
·在一个MC事件处理中(并不放到这个MC的时间轴中),不如传统引用
个人觉得第三种(即事件处理)在比较复杂的应用中最频繁用到,故也体现出全局变量的一些效率劣势,但是相比而言,程序的可维护性着实提高了。

一些高手的回复

引用自
from KL's:
建议使用静态变量,而非全局变量

我的意见:对于1.0 ,无法使用类的静态变量,只能如此了。怎么方便怎么用。

*/

还没找到您要的东西?Google试试看吧,
Google更注重原创、时效性好的文章:


本文相关评论: 才 5 条评论
  1. N神 2005-05-09 12:12:25

    一个小变量而已~我细微的效率忽略不记拉都~~
    我以前搞那个小飞机,基本都是全局函数哈,到处随便用~

  2. aw 2005-05-09 12:33:55
    引用自
    基本都是全局函数哈

    这个是态度问题哦

  3. N神 2005-05-09 02:06:35

    1.0哪来的静态变量

  4. aw 2005-05-09 02:31:22

    是啊!其实也有些解决方案

  5. 记录被各大网站收藏的原创文章 2007-07-14 01:19:07

    […] 用FlashCS3开发透明的AIR(Apollo)应用gotoAndLearn.com的Flash视频教程全套下载公布创建基于Flash技术弹性布局的Web应用程序状态机-简单、重要、高可应用性的思想由Flash中的异步、同步联想到setInterval的一些用法。背叛时间轴·突破IDE[技术]原创-完美的loading-完美到底[减负][技术]原创-完美的loading-完美到底[利器][技术]原创-完美的loading-完美到底[基础]积累:SDK/API等相关知识让人心烦的安全性External Interface API 学习笔记[原创]广州行记 – II(项目篇)+后记[提示]一个细节 1+1 = 11 ~~ ??[转载]prototype属性和ASSetPropFlags琐碎文本获取焦点 Selection vs FocusManager[原创]Webservice使用实例2则 – 各地天气预报|各国货币转换近期使用 curveTo 一些问题,一些想法什么是dpi?[积累][原创]鼠绘技巧[原创]TextFormat类的问题关于延迟的实现(讨论)[原创]with语句指向自身的小办法[原创]闲扯一些Flash小技巧[原创]全局变量让你告别繁琐的路径Depth小提示思考一个问题·FlashAS效率的问题[原创]superBreak插件制作完成+心得更新[原创]物理像素·逻辑像素图解[原创]JSFL中比较有用的几个方法[原创]mcloader的简单用法[转载]Flash不能直接操纵线程真不爽[收集]QQ的一些变态技术,呵呵经典啊!尊重你的trace()[原创]with语句的一系列实验[原创]Flash如何用asp、XML读取Blog中的信息。[原创+整理]进一步了解Flash坐标机制[更新][引用+原创]如何做好一个多人配合的flash项目[原创]按钮精密逻辑控制[须配合tween类][转载]flash中可以使用的HTML标签[有用][原创]Flash第三方软件与Flash的完美结合[原创]Flash中动态HTML文本显示中文的问题整理一篇非常好的文章。原创经验-坐标非整数时的像素化zz怎样做一个优秀的软件模型设计者[原创经验]谈MC的instanceName[原创]论过渡技术 (smoothExchangeSkills)[讨论/疑惑]一个困惑了我很久的mask问题(已经解决)sex – 偶们谈“性”色不变~交友+视频交友PJ blog到Wordpress转换最新版FlashPlayer下载 […]

[支持Ctrl+Enter]为了我们大家和家人的安全,留言请慎重!
声明:
1、本站仅与见过面的个人博客交换链接,见此文
2、留言时的头像是Gravatar提供的服务。如果您有兴趣并且有闲暇时间,可以看看这里的介绍