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

变量

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

时间: 2024-09-26 17:21:21

Flash全局变量让你告别繁琐的路径的相关文章

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

变量 有时候,有一些非常重要的MovieClip,比如一些操作信息的提示类型的MC(比如叫做"a"),需要不断的改变其属性,比如一个文本框.而这些改变又是由许多不同的MC或者Button的一些事件触发的,甚至,触发这些事件的Button和MC在很远的路径,要找到我们这个a,需要拐很多弯路.那么这时候,可以在a建立好了之后直接将a保存在一个全局变量中.注意,我们只是保存一个指向,而非一个MC实例.那么,以后再其他路径下对a的操作,则可以把繁琐的_parent.这些全部去掉了.当然,关于传

Flash动态解析Web应用程序服务器路径

web|程序|动态|服务器 随着Flash的日益普及, Flash在WEB开发上面可是大显身手,既然是WEB-Site,那当然离不开基本的Html页面,以下是本人平时在制作Flash站点时候经常要用到的与Html方面的实用小技巧,不算多适合刚刚接触用Flash进行WEB开发的朋友,希望能够对大家有一定的帮助,本人算不上什么高手,错误之处还是难免的,请大家多多包涵,谢谢!(相关文章:手把手Flash初级教程)     动态解析FlashWEB应用程序的HTTP服务器路径     玩过Flash+A

Flash Action实现小球沿不规则的路径上移动

用了BitmapData.getPixel();来做的.原理:路径为一像素的纯色的不规则的曲线(如红色),用getPixel();记录曲线上的所有坐标. import flash.display.BitmapData; import flash.geom.Point; var pointArr:Array = []; var ypos:Number = 200; var curve:MovieClip = this.createEmptyMovieClip("curve", 10);

告别繁琐! Vista下快捷方式网络连接管理

有许 多人抱怨说http://www.aliyun.com/zixun/aggregation/15470.html">Vista中进入网络连接管理非常麻烦,没错,如果不熟悉的用户根本就很难找到.因为XP中通过开始菜单就能很方便的进入, 但是到了Vista中,你需要右击系统任务栏中的连接图标->网络共享中> 管理网络连接(左侧面板),如此才能进入. 下面就为大家介绍一个非常简便的进入方式,可以成为一键式.你所需要做的就是创建一个快捷方式: 在桌面新建一个快捷方式,输入: exp

在 DW 中插入 Flash 的参数详解

插入|详解 在Dreamweaver中插入FLASH后还可以有很多的控制参数,点属性面板右下的参数钮,就会有参数和值的加入.大家可以自由的控制, 以下内容摘自 Flash MX 2004 帮助文档 参数和属性 下列标记属性和参数描述了由"发布"命令创建的 HTML 代码.在编写自己的用于显示 Flash 内容的 HTML 时,可以参考此列表.除非特别说明,否则所有条目都同时适用于 object 标记和 embed 标记.可选条目也在此列出.Internet Explorer 可以识别用

Dreamweaver插入Flash参数

dreamweaver|插入     在Dreamweaver中插入FLASH后还可以有很多的控制参数,点属性面板右下的参数钮,就会有参数和值的加入.大家可以自由的控制,     以下内容摘自 Flash MX 2004 帮助文档     参数和属性     下列标记属性和参数描述了由"发布"命令创建的 HTML 代码.在编写自己的用于显示 Flash 内容的 HTML 时,可以参考此列表.除非特别说明,否则所有条目都同时适用于 object 标记和 embed 标记.可选条目也在此列

Flash:loadMovie/loadMovieNum使用详解

详解 在论坛技术区里待了这么久,发现对于这两个函数大家问的比较频繁,今天就在这里结合我自己的经验,详细的写一篇教程,希望能给大家以后的使用带来帮助.     一.loadMovie("url",target [, method])      描述:函数:在播放原始 SWF 文件的同时将 SWF 文件或 JPEG 文件加载到 Flash Player 中目标影片剪辑的路径.      首先我们可以看到该函数有3个参数:url.target.method.其中,最后一个参数"me

在FrontPage 2000中插入Flash动画

flash动画|frontpage|插入 尽管FrontPage 2000和Flash同属于网页设计软件,但两者的兼容性不是很好.使用FrontPage 2000中的"插入"菜单,无论是图片,还是文件,或者不能直接插入SWF文件,或者插入后无法正常显示,笔者通过探索.尝试,找到了以下4种办法,可以在FrontPage 2000中使用Flash动画: 图1设置动画输出的属性 1.在Flash动画制作结束时,输出为GIF动画.如果要透明,必须在"Export GIF"对

FrontPage2000之插入Flash动画

flash动画|frontpage|插入 尽管FrontPage 2000和Flash同属于网页设计软件,但两者的兼容性不是很好.使用FrontPage 2000 中的"插入"菜单,无论是图片,还是文件,或者不能直接插入SWF文件,或者插入后无法正常显示,笔者通过探索.尝试,找到了以下4种办法,可以在FrontPage 2000 中使用Flash动画: 1.在Flash动画制作结束时,输出为GIF动画.如果要透明,必须在"Export GIF"对话框中,选中&quo