使用命令行工具提升cocos2d-x开发效率 之CocosBuilder篇
http://www.cnblogs.com/flyFreeZn/p/3617983.html
对于我这个懒人,最好的方式莫过于有一个命令行工具,能够让我把publish各种ccb的工作串到我的workflow里面。有了这个想法后,我開始上网搜索。没错,我还真找到了一点线索。在几个人的博客和官方论坛的帖子中。有人提到了这个工具,只是郁闷的是居然没人肯告诉这个工具到底藏在什么地方。反正打好包的app里面是没有,于是我下载了CocosBuilder的源代码(github地址)。想着就算找不到俺自己不能照着原理写一个吗?只是终于发现作者还是大发慈悲的没忍心让我动手,原来在源代码的project中,作者已经写好了这个工具。仅仅是。须要你自己build出来=。=好吧,作者是有多懒…例如以下图,有一个叫ccbpublish的target,选择这个target,我们把它build出来。铛铛。一道金光。工具入手:)记得在使用之前可能须要chmod一下。
ccbpublish -o 输出文件的路径 输入ccb的ccb文件
ccbpublish -o home/Xin/ccbis/ccb1.ccbi home/Xin/ccb1.ccb
OK。知道了使用方法。我来讲一下实际使用的一个样例和一个写好的bash脚本。
还是使用我们在这系列第一篇里面用到的那个文件夹,希望你们还记得,不知道的能够进这里,我们须要在上一节那个文件夹的基础上加入两个文件夹。一个是ccb,里面存放我们游戏的ccbproject(在这里我们如果我们游戏仅仅使用一个ccbproject。而且这个project是使用CocosBuilder3.0alpha创建的),另外一个在res文件夹下的ccbis,里面存放我们生成的ccbi。创建好后应该是以下图这样子的文件夹结构:
ccb的文件夹:
为了清楚,我特意用不同的颜色把须要注意的文件夹都标出来了。
1 #! /bin/sh
2
3 CURRENT_PATH=`dirname $0`
4 SCRIPT_PATH=$CURRENT_PATH
5 RESOURCE_PATH=$CURRENT_PATH/../ccb
6 CCB_PATH=$CURRENT_PATH/../ccb/Resources
7 TEMP_OUT=$CURRENT_PATH/out
8 OUT=$CURRENT_PATH/../res/ccbis
9
10 if [ -d $OUT ];then
11 echo "Clean old files..."
12 rm -rf $OUT/*.ccbi
13 else
14 echo "Not found out folder and create it!"
15 mkdir $OUT
16 fi
17
18 echo "Publish .ccbis files..."
19
20 mkdir $TEMP_OUT
21
22 for i in $CCB_PATH/*
23 do
24 fileName=`basename $i`
25 if [[ $fileName =~ [a-zA-Z]+\.ccb ]]
26 then
27 echo "--- publish >>$fileName<<"
28 fileNameWithoutExt=${fileName%\.ccb}
29 $CURRENT_PATH/ccbpublish -o $TEMP_OUT/$fileNameWithoutExt".ccbi" $i
30 fi
31 done
32
33 echo "Move .ccbis files..."
34
35 mv $TEMP_OUT/*.ccbi $OUT/
36
37 rm -rf $TEMP_OUT
38
39 echo "All done!"
都是比較简单的bash脚本。測试的话仅仅须要把上面的脚本拷贝下来,存放到tools目录中,然后记得chmod和把后缀改成.command的,这样就能够双击执行刷新了。
有了这个东西之后,就能够全然不须要手工的去GUI里面publish全部的ccb文件了,是不是认为非常爽?
好了,第二篇就这样。有问题留言:)
-------
版权全部,转载请注明出处:)
最新文章
- c#中的23种设计模式
- Android Include标签
- PHP MYSQL 数据库配置连接
- 无法为数据库 XXX 中的对象XXX 分配空间,因为 &#39;PRIMARY&#39; 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间。
- linux下抓取网页快照
- Python第一天接触心得
- 【转载】Android 开发 命名规范
- Oracle启用scott用户
- Mina源码阅读笔记(六)—Mina异步IO的实现IoFuture
- ASP.NET Core 搭配 Nginx 的真实IP问题
- 【原创】大叔经验分享(3)hbase client 如何选择
- 复习-css常用伪类别属性
- erlang工作总结
- Android关于RAM、ROM、SD卡以及各种内存的区别
- pytorch-1.0 踩坑记录
- event.currentTarget和event.target的区别
- 【mysql】MySQL知识整理-死锁分析-性能优化等
- django-Q模块实现查询
- linux下svn不能连接上windows服务器:SSL handshake failed: SSL error
- foxmail收取163企业邮箱设置,不能直接用foxmail默认的配置,否则一直提示帐号密码错误
热门文章
- 二叉树的创建一数据结构一C++
- 解决Spellchecker inspection helps locate typos and misspelling in your code
- Nginx Location和Rewrite总结
- 用AOP来让你的JS代码变得更有可维护性吧
- WCF部署到IIS的一个浅水滩
- C. The Smallest String Concatenation-C++sort排序~~
- Web性能压力测试工具——Siege
- [HDU4417]Super Mario(主席树+离散化)
- SpringBoot Beans定义 连接池
- ***apache做301重定向的方法