点击这里给我发消息 点击这里给我发消息
首页 > 行业资讯 > flash>详细内容

Flash CS3 组件开发教程

添加时间:2010-1-5
    相关阅读: 软件 开发 flash 系统

通过此篇教程你可以大致了解Flash 组件开发整个过程,希望对那些想自己开发Flash 组件的朋友有所帮助。我这次主要开发Flash 代码组件,甚至其他Flash 组件,你可以自行研究或和我一起讨论。

【前提条件】:

1.安装了Flash CS3软件;

2.安装了Adobe Extension Manager 1.8 扩展管理器,如果没有请先到这里下载;

【开发教程】:

1.首先准备一个18x18的png 图片,用来做Flash 组件的图标。(我会在下面打包文件中提供一个png 图片)

2.写一个StringUtilComponent 组件类,我的组件都没有去继承系统组件类(UIComponent),而是直接继承Sprite 类。

package com.klstudio.components {
   
    import flash.display.*;
   
    import com.klstudio.util.StringUtil;
   
    //命名空间;
    use namespace klstudio_internal;
   
    //设置组件图标;
    [IconFile("StringUtilIcon.png")]
   
    public class StringUtilComponent extends Sprite{
        //定义组件显示框;
        //组件里已有的显示元素必须用命名空间作开头;
        klstudio_internal var boundingBox_mc:MovieClip;
        //定义LRC解析器;
        private var util:StringUtil;
        public function LRCParserComponent(){           
            //移除组件显示框;
            boundingBox_mc.visible = false;
            addChild(boundingBox_mc);
            boundingBox_mc = null;           
        }       
    }   
}
这个组件用到的StringUtil 类,我之前已经提供过的“[AS3]StringUtil类”。这里要注意一下,组件内所包含的显示元素一定要用命名空间来做前缀(就是上面“use namespace klstudio_internal;”代码),下面就命名空间定义变量。如果不加的话,就无法直接对boundingBox_mc 显示元素操作(这一点和原来Flash 组件开发不同的地方,原来是可以直接使用的),否则编译时就会报错。

/**
* ...
* @author Kinglong
* @version 0.1
*/
package com.klstudio.components {
    public namespace klstudio_internal = http://www.klstudio.com/;
}
3.建立一个StringUtil.fla 文件,类型当然是选择“Flash File(ActionScript3)”。

4.建立一个MovieClip 元素,命名为“StringUtil”;然后按照下图所示设置Class 路径。

screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0>

5.再建立一个新的MovieClip 元素,命名为“boundingBox_mc”,用来做组件显示框。

screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0>

6.然后将boundingBox_mc 放到名叫“StringUtil”的MovieClip 元素里,同时按下图所示将名字已经设置成“boundingBox_mc”。

梅义 

7.接下来开始定义组件了,设置Class 类路径、提示信息等选项。再点击组件图标选择之前png 图片。

screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0>

screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0>

8.如果图标不能像下图所示的话,请按第4步重新确认一下就可以了。

screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0>

9.然后就是把这个StringUtil 组件打包成SWC 文件(其实就是一个zip 压缩文件格式)。

screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0>

10.到第9步组件就算做成功了,但要发布给别人用的话,就可以把swc 文件打包成mxp 文件了,而打包之前首先要配置StringUtil.mxi 文件(这个文件就是xml 文件格式),内容如下:

<macromedia-extension
name="StringUtil"
version="1.0"
type="Flash component"> <!-- Describe the author -->
<author name="Kinglong" />
<!-- List the required/compatible products -->
<products>
<product name="Flash" version="9" primary="true" />
</products>
<!-- Describe the extension -->
<description>
<![CDATA[
StringUtil类<br>
有关String工具类。
]]>
</description>
<!-- Describe where the extension shows in the UI of the product -->
<ui-access>
<![CDATA[
This StringUtil Component is accessed by choosing Window > Components > StringUtil.
]]>
</ui-access>
<!-- Describe the files that comprise the extension -->
<files>
<file name="StringUtil.swc" destination="$flash/Components" />
</files>
</macromedia-extension>

官方提供有关mxi 文件格式说明:mxi_file_format.pdf

11.如果你已经安装了 Adobe Extension Manager 1.8 扩展管理器的话,你可以直接双击StringUtil.mxi 文件来生成StringUtil.mxp 文件。或者你先打开 Adobe Extension Manager 1.8 扩展管理器选择“文件”-“将扩展打包...”,选择StringUtil.mxi 文件,然后生成StringUtil.mxp,到这里就贺喜你了,你的Flash CS3 组件开发完成了!

本文作者:
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册