1 在flex中建立as项目会自动在bin目录下生成
2 用compc命令
3 flashdevelop
4 flash发布设置导出swc 也可以在库中导出swc文件

FlashDevelop自带的项目类型中没有swc库项目的模板,当想要把项目中的通用部分封装成swc时就不那么方便了,往往需要FlashBuilder或命令行compc命令

因为有了compc命令,再加上FD强大的灵活性,要一键生成swc并不困难,步骤如下:

1. 创建AS3项目
可以直接跳至-6
2. 打开项目属性,先把Output file名改为swc后辍,再勾选上No output…
image
3. 切换到Build选项卡,添加命令:

“$(CompilerPath)\bin\compc.exe” -include-sources “$(ProjectDir)\src” -output “$(OutputDir)\$(OutputName)”

image
4. 点OK保存设置,按F8编译项目就可以生成swc文件了:
image

6:如果恰好你没网络或者没能下到ExportSWC这个插件,你也可以这样做:打开项目属性面板,选择Build,在Post-Build Command Line中添加命令:

c:\windows\system32\cmd.exe /k “$(CompilerPath)\bin\compc.exe” -o=“$(OutputDir)\$(ProjectName).swc” -compiler.include-libraries=“$(ProjectDir)\lib” -is=“$(ProjectDir)\src”

FlexSDK中的compc命令可以将那些带包名的as文件编译成swf文件,并打包成一个文件,文件的扩展名是.swc,在Flash中这叫组件。其实组件文件格式实际上是zip, 把扩展名.swc改成.zip用winrar打开看看就知了

假如是自己开发,可以先在本地把目录规划好,调试无误以后在单独拿出去打包

假如在”D:\项目\Tool\huxiaowei\classes”目录下有两个AS文件”GameTask.as”,”MovieTask.as”,在Adobe Flex 3 SDK Command Prompt命令行下输入:

cd 项目\tool

compc -include-sources huxiaowei\classes\ output d:/hxwLib.swc

这样就将两个AS文件打包到d:\下名为hxwLib.swc包里了

在项目里就可以删除掉AS文件,只需要再ActionScript Build Path -> Library Path -> Add SWC下应用这个hxwLib.swc即可

PS:如果有一个AS是基于hxwLib.swc编写的,如果要将这个as编译成不必依赖组件的swf(即可以单独存在),可以进一步在命令行运行:

amxmlc -library-path=c:/3rd.swc HelloWorld.as

flashplayer HelloWorld.swf