如何用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决定从今天開始正式学习的用自己的空暇时间折腾它了.正好这个五一没什么事.昨天搭建了一下开发环境. ...
随机推荐
- hdu 4010 动态树 @
kuangbin模板题,看起来十分高大上 /* *********************************************** Author :kuangbin Created Tim ...
- dwz中权限的控制
很多人不明白用dwz要如何在没有登录的时候跳转到登录页面,没有权限的时候弹出提示. 其实,作者在设计的时候,已经完全考虑到了这些需求. 不管是navTab还是dialog,dwz的页面加载最终都是通过 ...
- 指针数组 vs 数组指针
指针数组,故名思义,就是指针的数组,数组的元素是指针: 数组指针,同样,就是直想数组的指针. 简单举例说明: int *p[2]; 首先声明了一个数组,数组的元素是in ...
- Portlet简述
一.Portlet是什么? Portlet是基于java的web组件,由portlet容器管理,并由容器处理请求,生产动态内容.Portals使用portlets作为可插拔用户接口组件,提供信息系统的 ...
- Css3 提示框
<div class="arrow_box"><span>xxy is a so cool boy</span></div> css ...
- php函数获取文件名
<?php // php 获取 文件名 function getExt($url){ $arr = parse_url($url); // URL 字符串予以解析,并将结果返回数组中 //pr ...
- 试听笔记:技术狂人nodejs
nodejs概念: 让javascript运行在服务端的开发平台.不是一种语言,不是框架,不是库.特点:单线程异步.事件驱动. PHP.JAVA既是语言也是平台. 创始人:Ryan nodejs cm ...
- node.js--HTTP模块
HTTP模块 node.js提供了一个创建自己服务器的方式,用起来很简单,首先引用http模块 //引用HTTP模板 var http = require('http'); 创建服务实例:http.c ...
- jquerymobile页面跳转和参数传递
http://blog.csdn.net/chen052210123/article/details/7481578 页面跳转: 页面跳转时pagebeforechange事件会被触发两次,通过$(d ...
- BZOJ4260 Codechef REBXOR 题解
题目大意: 有一个长度为n的序列,求1≤l1≤r1<l2≤r2≤n使得(⊕r1i=l1ai)+(⊕r2i=l2ai)最大,输出这个最大值. 思路: 用Trie求出前缀异或和以及后缀异或和,再求出 ...