使用组件 |
|
|
|
| 集合属性 > 简单集合示例 | |||
下面是组件类文件的一个简单示例,该文件名为 MyShelf.as。此示例包含从 UIObject 类继承的组件的一个集合属性以及至少应有的一组导入、方法和声明。
如果在此示例中导入 mx.utils.*,则不再要求来自 mx.utils 的类名称是全限定类名。例如,mx.utils.Collection 可以写为 Collection。
import mx.utils.*;
// 标准类声明
class MyShelf extends mx.core.UIObject
{
// 所有类必需的变量
static var symbolName:String = "MyShelf";
static var symbolOwner:Object = Object(MyShelf);
var className:String = "MyShelf";
// Collection 元数据标记和属性
[Collection(variable="myCompactDiscs",name="My Compact Discs",collectionClass="mx.utils.CollectionImpl", collectionItem="CompactDisc", identifier="Title")]
// 集合的 get 和 set 方法
public function get MyCompactDiscs():mx.utils.Collection
{
return myCompactDiscs;
}
public function set MyCompactDiscs(myCDs:mx.utils.Collection):Void
{
myCompactDiscs = myCDs;
}
// 私有类成员
private var myCompactDiscs:mx.utils.Collection;
// 必须编写一个对集合项目类的引用,
// 才能强制编译器在 SWC 中将其作为
// 依赖项提供
private var collItem:CompactDisc;
// 必须编写一个对 mx.utils.CollectionImpl 类的引用,
// 才能强制编译器在 SWC 中将其作为
// 依赖项提供
private var coll:mx.utils.CollectionImpl;
// 所有类必需的方法
function init(Void):Void {
super.init();
}
function size(Void):Void {
super.size();
}
}
创建伴随此类的 FLA 文件以便进行测试:stop() 函数。您必须在组件的 FLA 文件中提供 UIObject,因为如上面的类文件所示,MyShelf 会扩展 UIObject。
这可以是一个简单的矩形;它是 MyShelf 组件的一种可视表示形式,仅用于学习的目的。
这使您可以将 MyShelf SWF 文件(添加到库中的编译剪辑)拖动到 MyShelf.fla 文件中,以对该组件进行测试。每次对组件进行重新编译时,都会出现"解决库冲突"对话框,因为库中已存在该组件的旧版本。选择替换现有项目。
|
注意 |
此时您应该已经创建了 CompactDisc 类;否则在转换为编译剪辑时会遇到编译器错误。 |
|
|
|
|