如何用bat批处理编译swf项目
平时用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项目的更多相关文章
- 如何用Bat批处理自制自解压文件
转载▼http://blog.sina.com.cn/s/blog_48462a890102e0nu.html 1.在桌面上新建一个文本文档,如:“新建 文本文档.txt”,方法是:在桌面的空 ...
- bat 直接编译vs项目
直接项目.sln拖到bat上: @ECHO OFFset path=%~dp1%~nx1 C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.e ...
- 【工作笔记】BAT批处理学习笔记与示例
BAT批处理学习笔记 一.批注里定义:批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD,这些命令统称批处理命令. 二.常见的批处理指令: 命令清单: 1.RE ...
- 【转载】BAT 批处理脚本教程
来源:http://www.cnblogs.com/glaivelee/archive/2009/10/07/1578737.html BAT 批处理脚本 教程 第一章 批处理基础第一节 常用批处 ...
- BAT 批处理脚本 教程 【转】
BAT 批处理脚本 教程 第一章 批处理基础 第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令 ...
- 转:windows BAT 批处理脚本教程
转自:http://www.cnblogs.com/mq0036/p/3412171.html BAT 批处理脚本教程 第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文 ...
- Ant 命令行编译Android项目
首先把android sdk下的tools目录加到系统path环境变量里, 要么就得直接指定android.bat的绝对路径 对于一个新项目, 可以用这个命令创建需要的ant编译环境(可以看到andr ...
- atitit.添加win 系统服务 bat批处理程序服务的法总结instsrv srvany java linux
atitit.添加win 系统服务 bat批处理程序服务的法总结instsrv srvany java linux 系统服务不同于普通视窗系统应用程式.不可能简简单单地通过运行一个EXE就启动视窗系 ...
- 開始折腾cocos2d-x,使用批处理来创建项目
開始抽出时间学习cocos2d-x了.尽管C和C++还都不咋地.只是在开发中学习记忆也许会更深吧. so决定从今天開始正式学习的用自己的空暇时间折腾它了.正好这个五一没什么事.昨天搭建了一下开发环境. ...
随机推荐
- 关于ICE
转自:http://wenda.chinabaike.com/b/38322/2013/1103/614756.html 一.ICE产生的背景 基于信令协议的多媒体传输是一个两段式传输.首先,通过信令 ...
- FreeSWITCH 体系配置结构
转自:http://www.cnblogs.com/logo-fox/archive/2013/12/09/3465440.html FreeSWITCH总体结构: FreeSWITCH 由一个稳定的 ...
- hihocoder #1333 : 平衡树·Splay2
描述 小Ho:好麻烦啊~~~~~ 小Hi:小Ho你在干嘛呢? 小Ho:我在干活啊!前几天老师让我帮忙管理一下团队的人员,但是感觉好难啊. 小Hi:说来听听? 小Ho:事情是这样的.我们有一个运动同好会 ...
- C#根据html生成PDF
使用iTextSharp 控件 iTextSharp包括几个dll. 主要iTextSharp版本包含:——itextsharp.dll:核心库——itextsharp.xtra.dll:额外的功能( ...
- PHP 一个表单多个提交按钮,处理不同的业务逻辑
<?phpini_set("error_reporting","E_ALL & ~E_NOTICE");?> <head>< ...
- 静态成员函数(面向对象的static关键字)
静态成员函数 与静态数据成员一样,我们也可以创建一个静态成员函数,它为类的全部服务而不是某一个类的具体对象服务.静态成员函数与静态数据成员一样,都是类的内部实现,属于类定义的一部分.普通的成员函数一般 ...
- SPFA(负环) LightOJ 1074 Extended Traffic
题目传送门 题意:收过路费.如果最后的收费小于3或不能达到,输出'?'.否则输出到n点最小的过路费 分析:关键权值可为负,如果碰到负环是,小于3的约束条件不够,那么在得知有负环时,把这个环的点都标记下 ...
- [转]Modernizr的介绍和使用
转载自:http://blog.chinaunix.net/uid-21633169-id-4286857.html 传统浏览器目前不会被完全取代,令你难以将最新的 CSS3 或 HTML5 功能嵌入 ...
- ccc 音乐播放
cc.Class({ extends: cc.Component, properties: { musicPlayer: { default: null, type: cc.AudioSource } ...
- mysql case then使用
表的创建CREATE TABLE `lee` (`id` int(10) NOT NULL AUTO_INCREMENT, `name` char(20) DEFAULT NULL, `birthda ...