2004/09/10 | [教程]Flash2004 v2组件参考:概述
类别(我闪推荐) | 评论(0) | 阅读(150) | 发表于 16:07
世纪流年的又一篇好文

一、概述
基于 Macromedia Component Architecture 的第 2 版 (V2)FlashMX2004组件,可以方便而快速地构建具有一致的外观和行为的功能强大的应用程序。Flash Player 6 和 Flash Player 7 支持第 2 版组件。而且,Flash Player 7 不支持第 1 版组件。

1. 使用组件的优点
使用组件,就可以做到编码与设计的分离,而且,您还可以重复利用您自己创建的组件中的代码,或者通过下载和安装其他开发人员创建的组件来重复利用代码。  
使用组件,代码编写者可以创建设计人员能够在应用程序中使用的功能。开发人员可以将常用功能封装在组件中,设计人员可以自定义组件的外观和行为,方法是在“属性检查器”或“组件检查器”面板中更改参数。
基于v2组件结构的组件共享样式、事件处理、外观、焦点管理和深度管理等核心功能。在将第一个V2组件添加到应用程序中时,文档大小约增加 25K,用以提供此核心功能。如果再添加其他组件,系统会为这些组件重用相同的 25K,因此,增加的文档大小比预期的要小。

2. 组件的结构
v2组件作为“编译剪辑”(SWC) 元件包含在“组件”面板中。编译剪辑是其代码已经过编译的组件影片剪辑。编译剪辑具有内置的实时预览,无法对它们进行编辑,但您可以在属性检查器和“组件检查器”面板中更改它们的参数。
V2组件全部采用动作脚本2编写,因此组件API与第一版的有所区别,每个组件都是一个类,每个类都属于一个动作脚本包。我们在使用新版组件替换旧版组件的时候经常会出现一些问题,往往达不到预期的效果或发生错误。
V2所有组件都是 UIObject 和 UIComponent 类的子类,并且从这些类继承了所有属性、方法和事件。许多组件也是其他组件的子类。

3. 组件的分类
Flash MX 2004 和 Flash MX Professional 2004 中包含的组件分为四类:用户界面 (UI) 组件、媒体组件、数据组件和管理器。

Flash MX Professional 2004 包括 Flash MX 2004 组件及以下附加组件和类:
Accordion 组件
Alert 组件
DataBinding 包
DateField 组件
DataGrid 组件
DataHolder 组件
DataSet 组件
DateChooser 组件
Form 类
MediaController 组件
MediaDisplay 组件
MediaPlayback 组件
Menu 组件
RDBMSResolver 组件
Screen 类
Tree 组件
WebServiceConnector 组件
XMLConnector 组件
XUpdateResolver 组件

每个组件都有预定义参数,您可以在 Flash 中创作时来设置这些参数。每个组件还有一组独特的动作脚本方法、属性和事件,它们也称为 API(应用程序编程接口),使您可以在运行时设置参数和其他选项。
从现在开始会对每个组件作细致的分析,并提供一些编程指导。
v2系列专题的文章结构为:
1. 基本使用
2. 实例解析
3. 技巧心得
4. 高级技巧
5. 参考资料
有时候会因为时间关系分阶段完成某篇文章,如果你觉得文章尚未完整,请下次再访问!

首先,我们可能要从v2组件的基类开发分析。
UIObject 通常都是由其他子类(例如 Button)隐式创建。如果您确实需要创建一个 UIObject 实例,请使用下列代码:

 
1 : class MyComponent extends UIObject;


 
UIObject 基类的常用方法有:
move(x,y)  将对象移动到要求的位置。
setSize(width,height)  将对象调整为所要求的大小。

几个重要的只读属性
bottom  返回对象底边位置(相对于其父对象的底边)。
height  对象的高度(以像素为单位)。
left  对象的左侧位置(以像素为单位)。
right  对象的右侧位置(相对于其父对象的右边)。
top  对象上边缘的位置(相对于其父对象)。
width  对象的宽度(以像素为单位)。
x 对象的左侧位置(以像素为单位)。
y 指明对象的上边缘(以像素为单位)。

可以设置的属性有
visible 对象是否可见
scaleX 指明对象相对于其父对象在 x 方向上的缩放系数
scaleY 指明对象相对于其父对象在 y 方向上的缩放系数

事件摘要
draw  当对象将要绘制它的图形时进行广播。
load  创建子对象时广播。
move  移动了对象时广播。
resize  缩放子对象时广播。
unload  卸载子对象时广播。


下面的代码动态创建一个Button组件实例,并移动到(100,100), 高度放大200%
 
1 : import mx.controls.Button;
2 : createClassObject(Button, "myButton" ,5,{ label: "Test Button" });
3 : myButton.move(100,100);
4 : myButton.visible=true;
5 : myButton.scaleY=200;
6 : myButton.scaleX=100;


参考资料:
Introduction to the v2 component architecture
0

评论Comments