[教程]在自定义类中使用Flash组件(swc文件)中包涵的类
时间:2008-12-30
来源:互联网
本文内容测试环境:
Adobe Extension Manager CS4 版本2.1 下载地址:http://www.adobe.com/cn/exchange/em_download/
Adobe Flash CS4 Professional 版本10 下载地址:http://bbs.blueidea.com/thread-2902593-1-7.html
swc 文件格式是Flash 的组件文件(其实也就是一个压缩文件).
一般要使用其中的类.需要在组件面板中将其拉到库中.才能在Flash 文档和文档类中使用.而在有时需要在自己的类中使用组件
中的类.又或许我们会写一些类供他人使用.而又不愿公开其源码(笔者提倡开源).
本文主要作用是用于将自己写的类供他人使用.而不需要公布其源代码.
在这里就不详说如何制作Flash组件了.如果你还不会.可以看此文:http://bbs.blueidea.com/viewthread.php?tid=2758660&highlight=
需要注意一点的是,如果是你自己写的一个类库.也就是说组件主类是不会做任何事情的组件.而只想他人使用组件中所包涵的类.可以这样做:
1.在组件主类中如下所写:
如果编译器没有提示错误.那就成功了.如图:
下面就是将完成的组件打包成mxp文件.
要打包成mxp文件(组件的可安装文件).需先制作mxi文件(xml文件格式.描述组件的一些信息.以便扩展管理器管理).
下面是笔者写的一个 Pages 组件的 mxi 文件.
在Flash CS4的安装目录下 -> Common -> Configuration -> ActionScript 3.0 -> libs -> 是Flash的swc库.
所以 destination 属性值不在是"$flash/Component".
$flash 标签是 flash 的配置文件夹.
$installfolder 标签是程序的安装文件夹.
当我们下载此类mxp文件时.只要安装后(不需要重启Flash)就可以在自定义类中使用组件中包涵的类了.
在这里笔者提供 Pages 组件来供大家测试.
测试文件.rar (28.75 KB)
此附件包涵以下文件:
Pages 组件中包涵以下元素:
需先双击mxp文件安装组件后.才能测试.否则会提示找不到该类.
Pages 组件详细:http://bbs.blueidea.com/thread-2903165-1-3.html
本文内容测试环境:
Adobe Extension Manager CS4 版本2.1 下载地址:http://www.adobe.com/cn/exchange/em_download/
Adobe Flash CS4 Professional 版本10 下载地址:http://bbs.blueidea.com/thread-2902593-1-7.html
[ 本帖最后由 chooseflash 于 2008-12-31 00:36 编辑 ]
Adobe Extension Manager CS4 版本2.1 下载地址:http://www.adobe.com/cn/exchange/em_download/
Adobe Flash CS4 Professional 版本10 下载地址:http://bbs.blueidea.com/thread-2902593-1-7.html
swc 文件格式是Flash 的组件文件(其实也就是一个压缩文件).
一般要使用其中的类.需要在组件面板中将其拉到库中.才能在Flash 文档和文档类中使用.而在有时需要在自己的类中使用组件
中的类.又或许我们会写一些类供他人使用.而又不愿公开其源码(笔者提倡开源).
本文主要作用是用于将自己写的类供他人使用.而不需要公布其源代码.
在这里就不详说如何制作Flash组件了.如果你还不会.可以看此文:http://bbs.blueidea.com/viewthread.php?tid=2758660&highlight=
需要注意一点的是,如果是你自己写的一个类库.也就是说组件主类是不会做任何事情的组件.而只想他人使用组件中所包涵的类.可以这样做:
1.在组件主类中如下所写:
复制内容到剪贴板
import zdm.display.class1;
import zdm.display.class10;
//为什么要继承 Sprite 类? 因为组件主元件所链接的类必需是 Sprite/MovieClip 类或其子类.
public class myClassLibs extends Sprite
{
public function myClassLibs()
{
//然后在构造函数中一一声明.因为编译器会将导入的类而没有使用的类放弃.
var c1:class1;
var c10:class10;
}
}
2.在库元件中链接到 myClassLibs 类(点确定后会看到元件图标为绿色).然后导出 swc 文件.代码:
//将你想要发布的类都导入.import zdm.display.class1;
import zdm.display.class10;
//为什么要继承 Sprite 类? 因为组件主元件所链接的类必需是 Sprite/MovieClip 类或其子类.
public class myClassLibs extends Sprite
{
public function myClassLibs()
{
//然后在构造函数中一一声明.因为编译器会将导入的类而没有使用的类放弃.
var c1:class1;
var c10:class10;
}
}
如果编译器没有提示错误.那就成功了.如图:
下面就是将完成的组件打包成mxp文件.
要打包成mxp文件(组件的可安装文件).需先制作mxi文件(xml文件格式.描述组件的一些信息.以便扩展管理器管理).
下面是笔者写的一个 Pages 组件的 mxi 文件.
复制内容到剪贴板
<!-- Describe the author -->
<author name="ChooseFlash" />
<!-- List the required/compatible products -->
<products>
<product name="Flash" version="10" primary="true" />
</products>
<!-- Describe the extension -->
<description>
<![CDATA[
纯代码写的翻页组件(类似 Discuz 论坛的翻页效果)
]]>
</description>
<!-- Describe where the extension shows in the UI of the product -->
<ui-access>
<![CDATA[
访问此项目: 在需要使用的类或Flash 文档中直接导入该类即可.
如: import zdm.display.Pages;
]]>
</ui-access>
<!-- Describe the files that comprise the extension -->
<files>
<file name="Pages.swc" destination="$installfolder/Common/Configuration/ActionScript 3.0/libs" />
</files>
</macromedia-extension>
需注意一点的是,在这里我们就不是将组件显示在Flash 组件面板中了.而是将其安装到Flash的swc库中.代码:
<macromedia-extension name="Pages" version="1.0" type="Library"><!-- Describe the author -->
<author name="ChooseFlash" />
<!-- List the required/compatible products -->
<products>
<product name="Flash" version="10" primary="true" />
</products>
<!-- Describe the extension -->
<description>
<![CDATA[
纯代码写的翻页组件(类似 Discuz 论坛的翻页效果)
]]>
</description>
<!-- Describe where the extension shows in the UI of the product -->
<ui-access>
<![CDATA[
访问此项目: 在需要使用的类或Flash 文档中直接导入该类即可.
如: import zdm.display.Pages;
]]>
</ui-access>
<!-- Describe the files that comprise the extension -->
<files>
<file name="Pages.swc" destination="$installfolder/Common/Configuration/ActionScript 3.0/libs" />
</files>
</macromedia-extension>
在Flash CS4的安装目录下 -> Common -> Configuration -> ActionScript 3.0 -> libs -> 是Flash的swc库.
所以 destination 属性值不在是"$flash/Component".
$flash 标签是 flash 的配置文件夹.
$installfolder 标签是程序的安装文件夹.
复制内容到剪贴板
<file name="Pages.swc" destination="$installfolder/Common/Configuration/ActionScript 3.0/libs" />
</files>
然后双击 mxi 文件就可以将组件打包成 mxp 文件了.这样就可以分发给他人使用了.代码:
<files><file name="Pages.swc" destination="$installfolder/Common/Configuration/ActionScript 3.0/libs" />
</files>
当我们下载此类mxp文件时.只要安装后(不需要重启Flash)就可以在自定义类中使用组件中包涵的类了.
在这里笔者提供 Pages 组件来供大家测试.

此附件包涵以下文件:
Pages 组件中包涵以下元素:
需先双击mxp文件安装组件后.才能测试.否则会提示找不到该类.
Pages 组件详细:http://bbs.blueidea.com/thread-2903165-1-3.html
本文内容测试环境:
Adobe Extension Manager CS4 版本2.1 下载地址:http://www.adobe.com/cn/exchange/em_download/
Adobe Flash CS4 Professional 版本10 下载地址:http://bbs.blueidea.com/thread-2902593-1-7.html
[ 本帖最后由 chooseflash 于 2008-12-31 00:36 编辑 ]
作者: chooseflash 发布时间: 2008-12-30
哎,还在CS3上徘徊。CS4慢慢来吧
作者: muyuyu 发布时间: 2008-12-30
感谢楼主 ... 今天找一天了.. 谢谢... 谢谢
作者: 546506184 发布时间: 2010-10-19
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28