WEB开发网
开发学院图形图像Flash AS3中全局变量定义的方法 阅读

AS3中全局变量定义的方法

 2012-02-06 12:15:48 来源:本站整理   
核心提示:在AS2中只要用_global就可以了,可是在AS3中怎么办?在 AS 3.0 中已经没有这个概念了,AS3中全局变量定义的方法,把它们定义成一个类里的公开变量就OK!public class GlobalConstant { public static var req:URLRequest = new URLRe

在AS2中只要用_global就可以了,可是在AS3中怎么办?

在 AS 3.0 中已经没有这个概念了,把它们定义成一个类里的公开变量就OK!

  1. public class GlobalConstant  
  2. {  
  3. public static var req:URLRequest = new URLRequest("6.mp3");  
  4. public static var sound_:Sound = new Sound(req);  

在别的类里直接GlobalConstant.req

另类方法,未验证:

我想到了在AS3中使用全局变量的方法:

以下内容为程序代码 以下内容为程序代码
Stage.prototype.var1 = 'Stage-var1'

原理是:
1.使用:
%类名.prototype.%成员名 = %值
的方法在原型链上添加成员,
然后就可以通过
%类名.prototype.%成员名
%类实例.[%成员名]
这两种方法之一即可访问这个静态成员.

2.我们同时又知道SWF文件在执行时总是有一个Stage的实例存在的,
并且访问到他很容易(任何一个加入DisplayList的DisplayObject的stage属性即是对他的引用).

由以上两点可得:
使用Stage.prototype.%成员名给Stage类添加一个静态成员,
然后就可以在随便什么地方访问那个成员,
这个成员就跟全局变量的作用范围没什么两样了.

扩充话题:
如果你需要很多全局变量,
建议你专门写一个具有你所需变量的类,
然后给他加到Stage的原型链上去,
这样可以使用严格类型声名并且方便管理.
 

Tags:AS 全局 变量

编辑录入:coldstar [复制链接] [打 印]
赞助商链接