手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网页制作>Flash>列表

FlashMXProfessional2004V2组件的研发

来源:互联网 作者:west263.com 时间:2008-04-02
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!


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

  
//导入类

  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事件中用_parent.dispatchEvent(eventObj);语句把chang事件发布为组件事件。dispatchEvent()方法需要一个Object类型的事件对象作为参数,该对象中保存了和事件相关的信息:target指明事件广播(发生)的对象;type定义了事件类型的名称――也能够认为是事件名称。在事件脚本中使用如下代码就能够对事件做出响应,其使用方法和一般的事件处理方法一致:

  
//对组件的PP事件做出响应

  on(PP)

  { trace("PP"); }

  //对组件的UU事件做出响应

  on(UU)

  { trace("UU"); }

  组件的属性的改变也能够作为事件发布,例如:

  private var Tm:String;

  //在setter中发布组件的事件

  public function set TTm(val:String)

  {

  Tm=val;

  var eventObj = new Object();

  eventObj.type = "KK";

  eventObj.target =this;

  this.dispatchEvent(eventObj);

  }


  当然,还要用Event元数据为组件声明事件。但事实上,没有Event元数据声明的事件组件同样可做出响应。Event元数据声明似乎仅仅是多了一个代码提示而已。所以元数据只是为组件提供了一个更加友好的用户接口,使研发人员更加容易得使用组件。

  在发布组件之前,还能够为组定制一个图标。图标大小需要为 18 x 18 像素,并保存为 PNG 格式。他的 Alpha 透明度必须是8位,左上角的像素需要是透明的,以支持遮罩。另外还需要在组件类文档中定义添加元数据声明:

  [IconFile("component_name.png")]

  该声明和事件声明相同,必须放在类定义之前,使该声明作用到组件类。最后将该图像保存到到FLA文档所在的同一目录中。在导出 SWC 文档时,Flash将在自动包含该图像。

  当组件定义完整,测试通过后,就能够发布组件供其他研发人员使用。Flash MX 2004 将组件导出为组件包(SWC 文档)。在发布组件时,只需向其他研发者提供 SWC文档就能够了。此文档包含和组件相关的任何代码、SWF 文档、图像和元数据,因此其他研发者能够方便地将他放到自己的 Flash研发环境中。

  这里对Flash V2组件研发做了初步的讨论。在具体的研发时,应根据组件的功能特性很细致地刻画组件的属性、事件和方法,声明元数据定义良好的用户接口。假如该组件是个可视的组件还需要为组件制作组件界面的图像元素。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!