在AS3中使用全局对象(global)
来源:互联网 发布:红外线遥控器软件 编辑:程序博客网 时间:2024/06/06 02:26
(本文适用于ActionScript 3)
(如若转载, 请留下作者frogcjn的Blog链接:http://blog.csdn.net/frogcjn/)
© 2007,2008 frogcjn
在AS3之前, 通常使用下列语句来动态访问自定义类.
global.className;
或
global["className"];//动态访问的方法
而在AS3中, Object及其子类中, 根本没有global这个属性。所以要动态访问自定义类可就难了。
例如在名为Test.fla的FLASH文件中, 设置它的"Document class"为Test.as , 然后编辑Test.as, 再按"ctrl+enter"运行.
Test.as 内容:
package{
import flash.display.*;
public class Test extends MovieClip{
public functionTest(){
var a = Math.floor(Math.random()*3);//随机设定a的值为0,1或2
trace(a);//输出数字a
trace(global["Class"+a]);//在这里本打算动态访问ClassN,
//正确的话应该输出"[classclassN]".
//可是由于没有global这个属性,
//却输出"ReferenceError: Error #1065: 变量 global 未定义".
}
}
public class Class0{
}
public class Class1{
}
public class Class2{
}
}
我的解决方法是在"package{}"之后加入"var global = this;", 这样就可以动态访问在"package{}"内部自定义的类了。例如在名为Test.fla的FLASH文件中, 设置它的"Document class"为Test2.as
Test2.as 内容:
package{
import flash.display.*;
public class Test2 extends MovieClip{
public functionTest2(){
var a = Math.floor(Math.random()*3);//随机设定a的值为0,1或2
trace(a);//输出数字a
trace(global["Class"+a]);//由于声明了global指向本package,所以正确输出"[classclassN]"
}
}
public class Class0{
}
public class Class1{
}
public class Class2{
}
}
var global = this;
那么在主时间轴上是否也可以访问在Test2.as中声明的global呢?
在Test.fla文件的第一帧写:
trace(global);
按"ctrl+enter"运行时输出"[object global]", 所以 global 也可以在主时间轴上使用。
那么Top level(顶级)类 (如 Math、String、Number类都是顶级类)是否也可以通过声明的global动态访问呢?
你可以用下列语句试一试:
trace(global.Math);//输出"undefined"
答案是否定的, 看来,global只能访问"package{}"内部的对象。
- 在AS3中使用全局对象(global)
- javascript全局对象Global对象
- JavaScript中Global全局对象之eval()函数
- 全局对象(global object)
- 在GNOME中使用Global Menu
- Nodejs中的Global object全局对象
- Node.js中的全局对象global(一)
- Node.js之Global全局对象
- Node.js 的 Global全局对象
- 在class的function中include的文件中,非php的global全局环境
- [AS3]在反射中使用静态方法
- 在AS3中使用嵌入字体
- .net全局定时定期执行某些操作在Global.asax中具体实现
- .net全局定时定期执行某些操作在Global.asax中具体实现
- .net全局定时定期执行某些操作在Global.asax中具体实现
- 全局 result (global-results) 的使用
- 在C#程序中使用全局量
- 在ASP.NET中使用Global.asax文件
- Css样式
- 成熟男人必看的5个故事
- log4j的关键概念和应用
- 中国农民贫困的真正原因(转)
- 汇编语言速查
- 在AS3中使用全局对象(global)
- PHP环境架设(Apache+PHP+MySQL+Zend)傻瓜安装
- 如果你可以量化某个事物的时候,你就真正理解了它
- 教你如何清除rose.exe病毒
- XFormEditor 的keydown事件不触发
- 百度一句话的搜索技巧
- 还原我的系统,Windows XP恢复全攻略
- 解决Windows XP SP2带来的网络故障
- 简单的3个SQL视图搞定所有SqlServer数据库字典