请选择 进入手机版 | 继续访问电脑版
收藏本站腾讯微博新浪微博
点点网模板设计大赛 phpchina

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 用悬赏 三天解决问题 解决访问速度慢 论坛支持农历生日 - 给官方提建议

论坛活动及任务 归纳网站最新活动 地图任务 邮件更新任务:保护帐号安全

积分换实物,来参加蓝色理想积分兑换吧! 联系招聘客服 蓝色理想帮你找工作! 万元奖励等你拿——点点网模板设计大赛

查看: 7851|回复: 4

[AS1&2] Flash CS3组件开发教程 [复制链接]

kinglong 楼主

Flash编程达人

荣誉管理 手机认证 

帖子
428
体力
8145
威望
93
发表于 2007-6-18 13:20:12 |显示全部楼层
Flash CS3组件开发教程
原文地址:http://www.klstudio.com/post/129.html
【教程说明】:应云开等朋友的要求,我今天把组件开发过程整理一下,写成这篇教程。通过此篇教程你可以大致了解Flash组件开发整个过程,希望对那些想自己开发Flash组件的朋友有所帮助。我这次主要开发Flash代码组件,甚至其他Flash组件,你可以自行研究或和我一起讨论。
【前提条件】:
    1、安装了Flash CS3软件;
    2、安装了 Adobe Extension Manager 1.8扩展管理器,如果没有请先到这里下载: http://www.adobe.com/cn/exchange/em_download/ ;
【开发教程】:
    1、首先准备一个18x18的png图片,用来做Flash组件的图标。(我会在下面打包文件中会提供一个png图片的)
    2、写一个StringUtilComponent组件类,我的组件都没有去继承系统组件类(UIComponent),而是直接继承Sprite类。
  1. package com.klstudio.components {
  2.        
  3.         import flash.display.*;
  4.        
  5.         import com.klstudio.util.StringUtil;
  6.        
  7.         //命名空间;
  8.         use namespace klstudio_internal;
  9.        
  10.         //设置组件图标;
  11.         [IconFile("StringUtilIcon.png")]
  12.        
  13.         public class StringUtilComponent extends Sprite{
  14.                 //定义组件显示框;
  15.                 //组件里已有的显示元素必须用命名空间作开头;
  16.                 klstudio_internal var boundingBox_mc:MovieClip;
  17.                 //定义LRC解析器;
  18.                 private var util:StringUtil;
  19.                 public function LRCParserComponent(){                       
  20.                         //移除组件显示框;
  21.                         boundingBox_mc.visible = false;
  22.                         addChild(boundingBox_mc);
  23.                         boundingBox_mc = null;                       
  24.                 }               
  25.         }       
  26. }
复制代码

   这个组件用到的StringUtil类,我之前已经提供过的“[AS3]StringUtil类”。这里要注意一下,组件内所包含的显示元素一定要用命名空间来做前缀(就是上面“use namespace klstudio_internal;”代码),下面就命名空间定义变量。如果不加的话,就无法直接对boundingBox_mc显示元素操作(这一点和原来Flash组件开发不同的地方,原来是可以直接使用的),否则编译时就会报错。
  1. /**
  2. * ...
  3. * @author Kinglong
  4. * @version 0.1
  5. */

  6. package com.klstudio.components {

  7.         public namespace klstudio_internal = "http://www.klstudio.com/";
  8.        
  9. }
复制代码

    3、建立一个StringUtil.fla文件,类型当然是选择“Flash File(ActionScript3)”。
    4、建立一个MovieClip元素,命名为“StringUtil”;然后按照下图所示设置Class路径。
   
    5、再建立一个新的MovieClip元素,命名为“boundingBox_mc”,用于来做组件显示框。
   
    6、然后将boundingBox_mc放到名叫“StringUtil”的MovieClip元素里,同时按下图所示将名字已经设置成“boundingBox_mc”。
   
    7、接下来开始定义组件了,设置Class类路径、提示信息等选项。再点击组件图标选择之前png图片。
   
   
   
    8、如果图标不能像下图所示的话,请按第4步重新确认一下就可以了。
   
    9、然后就是把这个StringUtil组件打包成SWC文件(其实就是一个zip压缩文件格式)。
   
    10、到第9步组件就算做成功了,但要发布给别人用的话,就可以把swc文件打包成mxp文件了,而打包之前首先要配置StringUtil.mxi文件(这个文件就是xml文件格式),内容如下:
  1. <macromedia-extension
  2. name="StringUtil"
  3. version="1.0"
  4. type="Flash component"> <!-- Describe the author -->

  5. <author name="Kinglong" />

  6. <!-- List the required/compatible products -->

  7. <products>
  8. <product name="Flash" version="9" primary="true" />
  9. </products>

  10. <!-- Describe the extension -->

  11. <description>
  12. <![CDATA[
  13. StringUtil类<br>
  14. 有关String工具类。
  15. ]]>
  16. </description>

  17. <!-- Describe where the extension shows in the UI of the product -->

  18. <ui-access>
  19. <![CDATA[
  20. This StringUtil Component is accessed by choosing Window > Components > StringUtil.
  21. ]]>
  22. </ui-access>

  23. <!-- Describe the files that comprise the extension -->

  24. <files>
  25. <file name="StringUtil.swc" destination="$flash/Components" />
  26. </files>

  27. </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组件就开发完成了!
已有 1 人评分威望 收起 理由
蓝色月光 + 3 原创内容

总评分: 威望 + 3   查看全部评分

Kinglong 's Blog
专注研究Flash,FCS/FMS,CF,JS,AS,Java,C#等相关技术
西部数码顶级域名注册商39元抢注!
orcsor 
帖子
237
体力
336
威望
0
居住地
四川省 成都市
发表于 2007-6-19 01:15:26 |显示全部楼层
这个好像是做as2组件的
http://www.5ucai.com
无忧素材网
租服务器,上51IDC | [长沙]招聘:PHP经理10K/WEB前端6K/PHP开发6K

使用道具 举报

帖子
248
体力
1125
威望
0
发表于 2007-6-19 08:28:49 |显示全部楼层
不亏是kinglong

收啦
http://www.actionscript3.cn/magicianzrh

使用道具 举报

snail5 
帖子
48
体力
208
威望
0
发表于 2007-6-19 09:19:51 |显示全部楼层
厉害,
还没有这样的思想
不知道怎么搞

使用道具 举报

春叶飘零

高级会员

帖子
473
体力
864
威望
1
发表于 2007-6-19 17:38:43 |显示全部楼层
看来和as2差别在一个命名空间~
我要威望....>

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|安久科技提供CDN|blueidea.com ( 京ICP备05002321号 )  

GMT+8, 2012-2-13 11:53 , Processed in 0.085893 second(s), 11 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部