Flash 中 Object.registerClass("linkname":String,class:Object) 一点使用体会
来源:互联网 发布:2017虚拟网络黄金egd 编辑:程序博客网 时间:2024/05/17 06:21
第一个话题:为什么会用到registerClass?
通常来说是为了使MovieClip用起来更灵活,使代码更集中,更容易复用,将一个mc注册为另外一个(通常是自己写的)class,而这个class一般要在定义时写上 extends MovieClip。这是因为我们凭空写的一个class大多是不能独立在Stage中显示的。
当我们将一个mc注册为一个extends MovieClip的class后,就可以对其添加一些我们希望的属性方法,或修改其方法,例如:修改 function onRelease(),已达到期望的效果。
第二个话题:注册了registerClass,其将在什么时候初始化什么部分?或者说什么时候执行我们自己写的构造方法,在执行那个构造方法之前,还会做什么工作?
我稍微试了一下,在一个mc中添加了:
#initclip 40
Object.registerClass("name",UI.Component);
trace("init Component");
#endinitclip
并在UI.Component的构造函数里添加了:
trace("init Component 2");
为了作为比较,在另一个mc中添加了:
#initclip 41
trace("这个应该后构造");
运行后发现:
“init Component”果然在“这个应该后构造”之前出现(由40,41决定了构造顺序),而“init Component 2”并没有出现。
也就是说在flash初始化的时候,并没有调用注册的class里的构造函数。
当我们在Stage中用attachMovie("name","name_mc",this.getNextHighestDepth()),引用那个mc时,才出现了“init Component 2”。
第三个话题:也是一个容易犯的错误:
在Object.registerClass("name",UI.Component)中注册的name应该和“链接”中“在ActionScript中导出的”命名相同,而不是和mc的命名相同。
- Flash 中 Object.registerClass("linkname":String,class:Object) 一点使用体会
- 使用Shockwave Flash object
- scala基础-class、object的一些体会
- scala中class与Object
- Object#class
- java中Object转String
- java中Object转String
- java中Object转String
- java中Object转String
- java中Object转String
- java中Object转String
- java中Object转String
- JAVA中Object转String
- Java中Object转String
- String Object
- C#中关于String.Equals(object,object)和(object==object )的比较
- C#中关于String.Equals(object,object)和(object==object )的比较
- C#中string.Format(string,object)方法
- 终于弄明白ACE Configurator Service了
- 将ListBox1的内容添加到ListBox2.
- CLAPACK的安装与简单使用
- 在C++中使用cpuid指令获得CPU信息
- JAVA学习总结之Random类
- Flash 中 Object.registerClass("linkname":String,class:Object) 一点使用体会
- 程序中插入表单自动控制选用
- [使用指导]如何使用数据包样本?
- JAVA学习总结之JAVA的安全性_数组(未完待续)
- 应用Clapack计算逆矩阵
- 关于引用的总结
- 自我介绍
- 实习生活1
- [原创]网络分析的前置知识(一)