平时用FB等IDE编译多模块的游戏项目时,除了添加移除模块的操作很繁琐外,编译速度也非常之慢。而用bat来编译swf项目,速度非常快,稳定。

在此分享自己工作用的bat,每次运行会重新编译主模块GameLoader.swf,main.swf,并编译相应的子模块。

 @echo off
for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set start_=%%h%%i%%j%%k
::记录编译开始时间
set CODE="D:\xx\xxx"
::设置代码路径
set PUB="D:\xx\xxx\bin-debug"
set TARGET=%PUB%
::设置输出路径 set FLEX_SDK="D:\Program Files (x86)\Adobe\Adobe Flash Builder 4.6\sdks\3.6.0"
::设置sdk位置
set DEBUG=false
::设置是否编译成debug版本 set MODULE_LIST=(ModuleA,ModuleB,ModuleC)
::要编译的子模块列表 set APP=%CODE%\src\main.as
::项目主模块
set Loader=%CODE%\src\GameLoader.as
::项目加载类 echo 正在编译GameLoader.swf...
%FLEX_SDK%\bin\mxmlc -target-player=11.2 --debug=%DEBUG% -define=CONFIG::debug,%DEBUG% - incremental=true -show-actionscript-warnings=true -static-link-runtime-shared-libraries=true -strict=true -library-path+=%CODE%\lib -link-report=%TARGET%\loadReport.xml -output=%TARGET% \GameLoader.swf %Loader% echo 正在编译main.swf...
%FLEX_SDK%\bin\mxmlc -target-player=11.2 --debug=%DEBUG% -define=CONFIG::debug,%DEBUG% - incremental=true -show-actionscript-warnings=true -static-link-runtime-shared-libraries=true -strict=true -library-path+=%CODE%\lib -load-externs=%TARGET%\loadReport.xml -link-report= %TARGET%\mainReport.xml -output=%TARGET%\main.swf %APP% set MODULE_TARGET=%PUB%\modules
set MODULE_CODE=%CODE%\src\modules
set MODULE_CMD=-source-path=%CODE%\src -source-path=%CODE%\src\modules -allow-source-path- overlap=true -target-player=11.2 --debug=%DEBUG% -define=CONFIG::debug,%DEBUG% - incremental=true -show-actionscript-warnings=true -static-link-runtime-shared-libraries=true -strict=true -library-path+=%CODE%\lib -load-externs=%TARGET%\mainReport.xml for %%i in %MODULE_LIST% do (
echo 正在编译%%i...
%FLEX_SDK%\bin\mxmlc %MODULE_CMD% -output=%MODULE_TARGET%\%%i.swf %MODULE_CODE%\%%i.as
) for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set now_=%%h%%i%%j%%k
::记录编译结束时间
set /a diff_=(%now_%-%start_%)/100
echo 编译用时 %diff_% ??
pause

修改CODE,PUB,FLEX,APP,Loader,MODULE_TARGET,MODULE_CODE等参数就可以用来编译自己的项目,通过MODULE_LIST,DEBUG来选择要编译的子模块,已经是否生成为DEBUG版本。

如果你对BAT还不是很熟悉,可以参考下面教程:
BAT批处理教程
bat之for循环
Flex mxmlc编译命令选项

如何用bat批处理编译swf项目的更多相关文章

  1. 如何用Bat批处理自制自解压文件

    转载▼http://blog.sina.com.cn/s/blog_48462a890102e0nu.html     1.在桌面上新建一个文本文档,如:“新建 文本文档.txt”,方法是:在桌面的空 ...

  2. bat 直接编译vs项目

    直接项目.sln拖到bat上: @ECHO OFFset path=%~dp1%~nx1 C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.e ...

  3. 【工作笔记】BAT批处理学习笔记与示例

    BAT批处理学习笔记 一.批注里定义:批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD,这些命令统称批处理命令. 二.常见的批处理指令: 命令清单: 1.RE ...

  4. 【转载】BAT 批处理脚本教程

    来源:http://www.cnblogs.com/glaivelee/archive/2009/10/07/1578737.html BAT 批处理脚本 教程   第一章 批处理基础第一节 常用批处 ...

  5. BAT 批处理脚本 教程 【转】

    BAT 批处理脚本 教程 第一章 批处理基础 第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令 ...

  6. 转:windows BAT 批处理脚本教程

    转自:http://www.cnblogs.com/mq0036/p/3412171.html BAT 批处理脚本教程 第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文 ...

  7. Ant 命令行编译Android项目

    首先把android sdk下的tools目录加到系统path环境变量里, 要么就得直接指定android.bat的绝对路径 对于一个新项目, 可以用这个命令创建需要的ant编译环境(可以看到andr ...

  8. atitit.添加win 系统服务 bat批处理程序服务的法总结instsrv srvany java linux

    atitit.添加win 系统服务 bat批处理程序服务的法总结instsrv srvany  java linux 系统服务不同于普通视窗系统应用程式.不可能简简单单地通过运行一个EXE就启动视窗系 ...

  9. 開始折腾cocos2d-x,使用批处理来创建项目

    開始抽出时间学习cocos2d-x了.尽管C和C++还都不咋地.只是在开发中学习记忆也许会更深吧. so决定从今天開始正式学习的用自己的空暇时间折腾它了.正好这个五一没什么事.昨天搭建了一下开发环境. ...

随机推荐

  1. VS2012 OpenCV2.4.9 Debug可以允许,Release不可以

    一个简单的程序 #include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgu ...

  2. WPF RoadMap

    最近ms 更新对WPF支持,http://blogs.msdn.com/b/dotnet/archive/2014/11/12/the-roadmap-for-wpf.aspx Work on imp ...

  3. loj 1316(spfa预处理+状压dp)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=27024 题意:求0-(n-1)的经过最多的标记的点的最短路. 思路 ...

  4. java发展史与java的语言特性

    概述: Java 体系比较庞杂,功能繁多,这也导致很多人在自学 Java 的时候总是感觉无法建立 全面的知识体系, 无法从整体上把握Java 的原因. 在这里我们先简单了解一下Java 的版本. 具体 ...

  5. 各浏览器抗uaf机制

    今年中旬,微软针对旗下ie浏览器中大量出现的uaf漏洞,对ie浏览器的安全机制进行了一个大幅度的升级,其中主要体现为隔离堆及延迟释放两个机制,顿时又将uaf漏洞的利用向上提升了一个大坎, 但是类似的对 ...

  6. javascript引擎工作原理

    1. 什么是JavaScript解析引擎? 简单地说,JavaScript解析引擎就是能够“读懂”JavaScript代码,并准确地给出代码运行结果的一段程序.比方说,当你写了 var a = 1 + ...

  7. Codeforces Round #354 (Div. 2)-C

    C. Vasya and String 题目链接:http://codeforces.com/contest/676/problem/C High school student Vasya got a ...

  8. css3 -- 属性选择器

    属性选择器: 1.CSS属性选择器 属性选择器E[attr="value"]{} 包含属性选择器E[attr~="value"]{} 2.CSS3的新属性选择器 ...

  9. 玩转Docker镜像

    镜像是Docker最核心的技术之一,也是应用发布的标准格式.无论你是用docker pull image,或者是在Dockerfile里面写FROM image,从Docker官方Registry下载 ...

  10. iOS开发实用干货——强化你的Xcode控制台

    f(x) 郑秀晶程序员不要整天看代码,偶尔也要看看风景?? www.90168.org先上一张我的Xcode控制台的图片让你们感受一下 酷炫控制台 是不是觉得很酷?不过仅仅是酷还是远远不够的,当你点击 ...