您的位置:首页 >> 编程开发 >> Visual C++ >> 正文
Visual C++ RSS
 

Flash 组件应用与开发(下)

http://www.rdxx.com 04年06月07日 12:12 Blog 我要投稿

关键词: Flash , 组件 , 开发 , 应用

              Flash 组件应用与开发(下)

四、Flash V2组件开发

Flash MX Professional 2004中,开发人员开可以在项目中自己创建新的V2组件。在开始开发V2组件之前,首先要了解MovieClip类、UIObject类和UIComponent类,因为它们是Flash V2组件的基类,所有Flash自带的组件都是它们的直接或间接子类。开发一个组件可以从原先的父类继承,扩展现有的组件类,使被创建的组件在父类的基础上进一步扩展。另外,也可以创建一个不带父类的组件,以实现一些其它的功能。在这里将重点讨论如何扩展现有的组件类。扩展一个现有组件类,通常包括以下几个步骤:

       1、组件首先作为一个电影剪辑(MovieClip)被创建,在该电影剪辑中创建两个图层,分别用于组件界面元素和脚本。然后在库的下拉菜单中选择Component Defination,在该对话框中的AS2.0 Class中输入该组件所要关联的类的完全限定名。当界面元素定义完成以后,就可以在外部文件中创建组件的属性、事件和方法,当然,组件的界面元素也可以在类中使用代码动态创建。

2、在定义组件类文件时,首先必须导入所需要的类,前面已经说过,MovieClip类、UIObject类和UIComponent类是V2组件的基类,所以如果当前创建的组件是从V2组件的任意组件扩展,那么就必须了解这三个基类,和其下的相关组件类。关于组件的特性可以查看Macromedia公司发布的组件字典,也可以直接在FlashInstalDir\en\First Run\Classes目录查看类文件代码。

3、确定组件所要扩展的类以后,就要为组件类编写构造函数(Constructor)。一般情况下,构造函数建议为空,这样才能用对象的属性接口来定义对象属性。此外,根据初始化调用顺序的不同,有时在构造函数中设置属性会导致覆盖默认值。

4、接下来要做的是添加组件的版本信息,如果当前开发的组件是作为组件包的一部分,那么可以把版本信息放到另外一个外部文件中。在定义版本信息时,可以继承UIObject类的静态字符串属性version。另外还需要定义三个比较重要的属性:symbolName,symbolOwnerclassName;他们都是从组件基类继承的。symbolName定义为静态的字符串变量,用于指定组件符号的名称;symbolOwner定义为静态的Object类型,是该类的一个完全限定名,它将在createClassObject() 方法的内部调用中被使用;className定义了组件类名称。

5、当这些都完成以后,就要开始定义组件功能相关的属性和方法。在属性和方法定义时,比较好的做法是确定每一个属性和方法的访问特性,使组件为用户提供一个良好的应用程序接口(API)。所以在定义属性和方法时要使用privatepublic来声明属性的可访问性,并使用settergetter函数来设置和获取属性的值。这样就更好的地实现了组件的封装,使用户无须了解组件的内部细节。

所有组件必须实现两个核心方法:始化方法和大小调整。如果不在自定义组件的类文件中覆盖两个方法,Flash Player 可能会产生错误。Flash 在创建类时调用初始化方法。初始化方法应该调用父类的初始化方法,因为只有在调用此方法之后,才能正确设置widthheight 和和其它的影片剪辑参数。

function init(Void):Void

{

// 调用父类的初始化方法

super.init();

//在这里添加与本组件相关的初始化代码

}

大小调整的方法也与初始化方法类似:

function size(Void):Void

{

super.size();

//在这里添加与本组件相关的大小调整代码

}

6、为了让属性在开发面板中可见,还必须为属性声明相关的元数据(Metadata)。元数据标记可以定义组件属性、数据绑定属性和事件。Flash 可以解释这些语句并相应地更新开发环境。元数据与类声明或单个的数据字段相关。元数据语句绑定到脚本的下一行。例如,在定义组件属性时,在属性声明的前一行添加元数据标记。在定义组件事件时,在类定义之外添加元数据标记,以便将事件绑定到整个类。对属性而言,有两个比较重要的元数据:

上一页 下一页


 
 
标签: Flash , 组件 , 开发 , 应用 打印本文
 
 
  相关资讯
RSS
 
无相关新闻
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站