FlashDevelop配合自动化脚本自动复制资源文件到输出目录

发表评论 阅读评论

在做AIR应用的时候总是会使用一些图片,声音,或者其他类型的资源文件,通常我们将这些资源文件放到一个单独的目录下,然后再将其复制到bin目录里打包.在Flex(Flash Builder)里可以将编译器选项里的【将非嵌入文件复制到输出文件夹】打钩就会自动复制非嵌入的资源文件复制到输出文件夹.

copyUnenabledFilesToOut.jpg"

但是在FlashDevelop里却没有这样方便的选项,当然如果不嫌麻烦可以每次打包air的时候手动复制到bin目录里. 相信每个程序员在多次做这项繁琐又容易忘记的工作后都会去想方设法的让机器帮忙做这部分工作.

使用自动化脚本实现自动复制资源文件到bin目录

1) 将下面的代码保存到{AIR Project}/bat/CopyAssetsToOutput.bat文件中,.bat文件仅仅是文本文件,只是后缀名不同而已.

@echo off
xcopy ..\src\acassets ..\bin\assets\ /e /d /i
xcopy ..\src\new.txt ..\bin\ /d /i

第一条xcopy的意思是将上一目录的src目录里的assets及子目录的文件复制到bin目录里,并建立相应的目录.

第二条xcopy的意思是将上一目录的src目录里的new.txt文件复制到bin目录里.
/e 表示包含子目录
/d 表示仅复制源文件修改日期大于目标文件
/i 表示不输出错误.
更多的请自行google搜索bat的xcopy命令.

2) 从【Project菜单】-> 【Properties…】->【Build选项】->【Post-build Command Lin】里输入以下命令并确认.

bat/CopyAssetsToOutput.bat

set-post-build-command-line.jpg

编后语

这里因为用了bat脚本(shell),只能用于window平台,mac,linux等其他平台就不清楚了.
其实它并不能区别是否是非嵌入文件,我们只能自己将资源文件统一放到一个目录下,或者写多行代码来分别复制.就像这里将new.txt在另一行命令里复制的.
最后要注意的就是文件的相对路径.

标签: , , ,

  1. lite3 | | #1

    @梦璃博客
    是的,就是利用批处理来复制文件的,呵呵,因为FlashDevelop没有这个功能.

  2. 梦璃博客 | | #2

    这个好像是批处理文件吧

  3. 朱定聪 | | #3

    这个。。。不懂。

  4. lite3 | | #4

    @Bindiry
    嘿嘿,没用过Mac,Linux,只用过Win,所以不知道

  5. Bindiry | | #5

    Mac和Linux要是有FlashDevelop就酷了。

  1. 本文目前尚无任何 trackbacks 和 pingbacks.
回到顶部