快速业务通道

Flash V2组件开发

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-13
一行添加元数据标记。在定义组件事件时,在类定义之外添加元数据标记,以便将事件绑定到整个类。对属性而言,有两个比较重要的元数据:Inspectable和InspectableList。

Inspectable元数据定义了在“组件检查器(Component Inspector)”面板中向用户显示的组件的属性。语法如下:

[Inspectable( value_type=value [,attribute=value,...] ) ]

property_declaration name:type;

Inspectable元数据还包括若干元数据标记:

·name:类型为String(可选),属性在开发面板中的显示名称。

·type:类型为String(可选)指定属性的类型。如果省略,则使用属性的类型。以下下是可接受的值: Array、 Object、List、String、Number、Boolean、Font Name、Color。

·defaultvalue:类型可以是String或Number(必需)。指定属性的默认值。

·enumeration:类型为String(可选)。指定以逗号分隔的属性合法值列表。

·category:类型为String(可选)。将属性划分到属性检查器中的某个特定子类别中。

InspectableList 元数据关键字用于确切地指定属性检查器中应显示可检查参数的哪个子集。可以将 InspectableList 与 Inspectable 组合使用,这样即可隐藏子类组件的继承属性。如果不给组件的类添加 InspectableList 元数据关键字,所有可检查的参数(包括组件父类的可检查参数)都会显示在属性检查器中。其的语法如下:

[InspectableList("attribute1"[,...])]

// class definition

InspectableList 关键字必须紧挨着类定义且在它之前,因为它应用于整个类。

7、定义组件的事件,首先要使用Event元数据关键字声明事件。Event 元数据关键字用于定义组件事件。其语法如下:

[Event("event_name")]

在类文件中必须把 Event 语句添加到类定义之外,以便将它们绑定到类,而不绑定到类的特定成员。首先组件类会继承基类事件。如果当前定义组件的基类是UIComponent,那么该组件中已经包括了MovieClip类、UIObject类和UIComponent类的28个事件。但事实上,这28个事件并不是都可以用的。其原因很简单,因为组件可以有它的组成结构,组件内部可能还有组件或是其它的元件实例。组件要为用户提供一个统一的接口,就必须抽取其内部结构的某些事件并把它们定义为组件的事件,这是一种基于组件内部组成结构的事件。比如说组件包括两个文本框T1和T2,这时可以根据组件的功能要求把T1的change事件发布为组件的PP事件,而把T2的change事件发布为组件的UU事件,当然关于组件事件的名称可以由组件开发人员自己定义。

那么究竟如何为组件定义一个新的事件呢?对于上面的那个例子,可以做如下定义:

//导入类

import mx.core.UIComponent;

//用元数据声明组件事件

[Event("PP")]

[Event("UU")]

//指明该类从UIComponent继承

class T_T extends UIComponent

{

//在编辑环境中已经创建两个输入文本(Input Text),并在类中声名其引用。

var T1:TextField;

var T2:TextField;

//定义构造函数

function T_T()

{

//在构造函数中发布T1的change事件

T1.onChanged=function()

{ //创建一个事件对象,存放与事件相关的信息

var eventObj = new Object();

//定义事件类型的名称

eventObj.type = "PP";

//指明事件广播(发生)的对象

eventObj.target = _parent;

//把事件作为组件的事件发布

_parent.dispatchEvent(eventObj);

}



//在构造函数中发布T2的change事件

T2.onChanged=function()

{

var eventObj = new Object();

eventObj.type = "UU";

eventObj.target =_parent;

_parent.dispatchEvent(eventObj);

}

}

}在以上代码中,先用元数据声明了组件的两个事件UU和PP,然后又在组件类的构造函数中定义T1和T2的change事件,并在它们的change事件中用_p

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号