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

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

 1 @echo off
 2 for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set start_=%%h%%i%%j%%k
 3 ::记录编译开始时间
 4 set CODE="D:\xx\xxx"
 5 ::设置代码路径
 6 set PUB="D:\xx\xxx\bin-debug"
 7 set TARGET=%PUB%
 8 ::设置输出路径
 9
10 set FLEX_SDK="D:\Program Files (x86)\Adobe\Adobe Flash Builder 4.6\sdks\3.6.0"
11 ::设置sdk位置
12 set DEBUG=false
13 ::设置是否编译成debug版本
14
15 set MODULE_LIST=(ModuleA,ModuleB,ModuleC)
16 ::要编译的子模块列表
17
18 set APP=%CODE%\src\main.as
19 ::项目主模块
20 set Loader=%CODE%\src\GameLoader.as
21 ::项目加载类
22
23 echo 正在编译GameLoader.swf...
24 %FLEX_SDK%\bin\mxmlc -target-player=11.2 --debug=%DEBUG% -define=CONFIG::debug,%DEBUG% -
25
26 incremental=true -show-actionscript-warnings=true -static-link-runtime-shared-libraries=true
27
28 -strict=true -library-path+=%CODE%\lib -link-report=%TARGET%\loadReport.xml -output=%TARGET%
29
30 \GameLoader.swf %Loader%
31
32 echo 正在编译main.swf...
33 %FLEX_SDK%\bin\mxmlc -target-player=11.2 --debug=%DEBUG% -define=CONFIG::debug,%DEBUG% -
34
35 incremental=true -show-actionscript-warnings=true -static-link-runtime-shared-libraries=true
36
37 -strict=true -library-path+=%CODE%\lib -load-externs=%TARGET%\loadReport.xml -link-report=
38
39 %TARGET%\mainReport.xml -output=%TARGET%\main.swf %APP%
40
41
42 set MODULE_TARGET=%PUB%\modules
43 set MODULE_CODE=%CODE%\src\modules
44 set MODULE_CMD=-source-path=%CODE%\src -source-path=%CODE%\src\modules -allow-source-path-
45
46 overlap=true -target-player=11.2 --debug=%DEBUG% -define=CONFIG::debug,%DEBUG% -
47
48 incremental=true -show-actionscript-warnings=true -static-link-runtime-shared-libraries=true
49
50 -strict=true -library-path+=%CODE%\lib  -load-externs=%TARGET%\mainReport.xml
51
52 for %%i in %MODULE_LIST% do (
53    echo 正在编译%%i...
54    %FLEX_SDK%\bin\mxmlc %MODULE_CMD% -output=%MODULE_TARGET%\%%i.swf %MODULE_CODE%\%%i.as
55 )
56
57 for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set now_=%%h%%i%%j%%k
58 ::记录编译结束时间
59 set /a diff_=(%now_%-%start_%)/100
60 echo 编译用时 %diff_% ??
61 pause

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

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

转载于:https://www.cnblogs.com/leoin2012/p/3900041.html

如何用bat批处理编译swf项目相关推荐

  1. 如何用bat文件快速计算项目代码行数

    在项目文件夹根目录新建一个txt文档,把下面的代码复制到txt文档里面,然后txt的后缀名改为bat,双击这个文件即可 REM 放到项目根目录双击获取代码总行数.bat @echo off for / ...

  2. java批量处理数据库语句_Java项目中调用bat批处理进行多用户数据库备份

    Java项目中调用bat批处理配合使用BCP进行多用户数据的备份 一.项目需求 最近项目中需要对数据库(Sql Server系列数据库)进行备份.项目中的需求不是简单的整个数据库的备份,而是根据用户来 ...

  3. laya3d系列——如何用vscode编译laya项目

    laya3d系列--如何用vscode编译laya项目 ---------------------------------------------转载请说明出处,抄袭必举报查封------------ ...

  4. bat批处理教程_超级详细教程

    bat批处理教程(1) 这是一篇技术教程,我会用很简单的文字表达清楚自己的意思,你要你识字就能看懂,就能学到知识.写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如果爱可以让事情变的更简单, ...

  5. BAT 批处理脚本教程

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

  6. bat批处理脚本入门

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

  7. 乐鑫esp8266学习rtos3.0笔记:如何在 windows 用 CMake 编译 ESP8266 项目。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 基于C SDK的ESP8266开发技术全系列笔记 一.N ...

  8. python编程怎么建立工程_教你如何用Python脚本快速创建项目

    相信初学Cocos2D者对Python还很陌生,今天本篇教程教你如何用Python脚本快速创建项目. 在Cocos2d-x2.1.4以上的版本中,取消了使用vs模版创建项目的方法,开始使用python ...

  9. bat 批处理切换到当前脚本所在文件夹

    bat 批处理切换到当前脚本所在文件夹 切换到当前脚本所在的文件夹 ? 1 cd  %~dp0 另外附上一些bat基本内容 ------------------------------ 批处理常用命令 ...

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

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

最新文章

  1. php 上下位置居中,CSS_css中position:fixed实现div在窗口上下左右居中,上下左右 居中 代码如下 复制 - phpStudy...
  2. python预处理删除特殊字符_python - 如何删除包含特殊字符的字符串?_others_酷徒编程知识库...
  3. 独一无二的《斗罗大陆》小游戏火爆上线,玩家闯关等你来~(等级有点儿难)
  4. dr.com linux源码安装,Linux在不采用坑爹的Dr.com客户端下的连网方式(亲测可行 ,简单易行)...
  5. Feign-实现抽取
  6. Java ClassLoader
  7. Java 基础 之 赋值运算符
  8. 设备驱动基础学习--/proc下增加节点
  9. authware课件
  10. 系统分析与设计(个人总结)
  11. LaTex,Mardown和TeXmacs:如何选择写作的正确姿势
  12. Vue.js 核心精要实战解析
  13. 新加坡国立大学招收博士生/博士后/研究助理/访问学生
  14. 5.询问姓名及电话号码
  15. 非对称加密 公钥解密_了解非对称公钥加密
  16. C++/C策略打怪小游戏 (修复并优化了的版本)
  17. vue 实现在线预览excel
  18. 7-63 查验身份证 (15 分)
  19. 【OpenCV3.3+Python3.6】图片的BGR通道的分离、修改以及合并
  20. grad_cam CNN可视化

热门文章

  1. Spring Boot @ServletComponentScan 扫描 @WebServlet、@WebFilter、@WebListener
  2. LayaAir 获取对象边界 getBounds/ getGraphicBounds
  3. sql查询数据库所有表、字、注释
  4. 小D课堂 - 新版本微服务springcloud+Docker教程_3-05 服务注册和发现Eureka Server搭建实战...
  5. 阶段3 1.Mybatis_08.动态SQL_02.mybatis中动态sql语句-where标签的使用
  6. windows 快捷方式(.lnk)代码执行漏洞(CVE-2017-8464 )[附EXP生成工具]
  7. 小项目,吃货联盟,java初级小项目,源代码
  8. Swift新手教程3-字符串String
  9. 双轴按键摇杆控制器控制TFTLCD(使用ADC1双通道DMA传输)
  10. cocos2dx中的层CCLayer