使用组件 |
|
|
|
| 创建组件 > 创建 ActionScript 类文件 | |||
所有组件元件都链接到 ActionScript 2.0 类文件。(有关链接的信息,请参阅创建组件影片剪辑。)
要编辑 ActionScript 类文件,您可以使用 Flash、任何文本编辑器,也可以使用任何"集成开发环境"(IDE)。
外部 ActionScript 类扩展其它类(无论该类是第 2 版组件、第 2 版基类还是 ActionScript MovieClip 类)。您应扩展所创建的功能与要创建的组件最类似的类。只能从一个类继承(扩展)。ActionScript 2.0 不允许多继承。
本节包含以下主题:
下面是类文件的一个简单示例,该类文件名为 MyComponent.as。如果要创建此组件,应将该类文件链接到 Flash 中的组件影片剪辑。
此示例包含从 UIComponent 类继承的组件 MyComponent 至少应有的一组导入、方法和声明。MyComponents.as 文件保存在 myPackage 文件夹中。
[Event("eventName")]
// 导入包。
import mx.core.UIObject;
// 声明类并从父类扩展。
class mypackage.MyComponent extends UIObject {
// 标识此类所绑定到的元件名称。
static var symbolName:String = "mypackage.MyComponent";
// 标识元件所有者的完全限定包名称。
static var symbolOwner:Object = Object(mypackage.MyComponent);
// 提供 className 变量。
var className:String = "MyComponent";
// 定义一个空构造函数。
function MyComponent() {
}
// 调用父级的 init() 方法。
// 隐藏边框,该边框
// 仅在创作时使用。
function init():Void {
super.init();
boundingBox_mc.width = 0;
boundingBox_mc.height = 0;
boundingBox_mc.visible = false;
}
function createChildren():Void{
// 调用 createClassObject 来创建子对象。
size();
invalidate();
}
function size(){
// 编写处理大小的代码。
super.size();
invalidate();
}
function draw(){
// 编写处理可视化表示形式的代码。
super.draw();
}
}
以下是介绍如何为组件类创建 ActionScript 文件的常规过程。根据所创建组件类型的不同,某些步骤是可选步骤。
编写组件类文件:执行这一步骤,则无需写出包(例如,使用 Button 而不是 mx.controls.Button)即可引用类。
class 关键字定义类;使用 extend 关键字扩展父类。(请参阅定义类及其超类)。symbolName、symbolOwner 和 className 变量。(请参阅标识类、元件和所有者名称)。
只有第 2 版组件才需要这些变量。
这些变量可用于 getter/setter 方法。
init() 方法。(请参阅定义 init() 方法)。
如果类扩展的是 UIComponent,则创建类时会调用此方法。如果类扩展的是 MovieClip,则从构造函数调用此方法。
createChildren() 方法。(请参阅定义 createChildren() 方法)。
如果类扩展的是 UIComponent,则创建类时会调用此方法。如果类扩展的是 MovieClip,则从构造函数调用此方法。
size() 方法。(请参阅定义 size() 方法)。
如果类扩展的是 UIComponent,则调整组件大小时调用此方法。此外,在创作时调整组件的实时预览大小时也会调用此方法。
draw() 方法。(请参阅关于无效)。
如果类扩展的是 UIComponent,则组件无效时调用此方法。
添加标记和声明可使 getter/setter 属性显示在 Flash 的"属性"检查器和"组件"检查器中。
执行这一步骤,用户则可通过更改组件中的参数来设置不同的外观元素。
|
|
|
|