• [原创]使用命令行工具提升cocos2d-x开发效率(二)之CocosBuilder篇


    如果你正在使用CocosBuilder或者是其他基于CocosBuilder源码改装而成的工具为你的游戏搭建场景或者UI,那你一定要看看这篇文章:)
     
    你是否已经厌倦了无聊的手工publish操作?反正我是受够了。对于我这个懒人,最好的方式莫过于有一个命令行工具,可以让我把publish各种ccb的工作串到我的workflow里面。有了这个想法后,我开始上网搜索,没错,我还真找到了一点线索,在几个人的博客和官方论坛的帖子中,有人提到了这个工具,不过郁闷的是竟然没人肯告诉这个工具究竟藏在什么地方。反正打好包的app里面是没有,于是我下载了CocosBuilder的源码(github地址),想着就算找不到俺自己不能照着原理写一个吗?不过最终发现作者还是大发慈悲的没忍心让我动手,原来在源码的工程中,作者已经写好了这个工具,只是,需要你自己build出来=。=好吧,作者是有多懒…
     
    如下图,有一个叫ccbpublish的target,选择这个target,我们把它build出来。铛铛,一道金光,工具入手:)记得在使用之前可能需要chmod一下。
     
    接着我们研究一下它的用法,在命令行中带--help参数执行,可以看到如下提示:
    这里我们只需要注意-o这个参数就可以了,其他的有兴趣你可以自己研究(我说过我很懒的=。=)
    实际上用法是:
    ccbpublish -o 输出文件的路径 输入ccb的ccb文件
    比如说,我们的ccb文件在目录home/Xin/ccb1.ccb,要输出到home/Xin/ccbis/ccb1.ccbi,那么我们就只需要:
    ccbpublish -o home/Xin/ccbis/ccb1.ccbi home/Xin/ccb1.ccb 

    OK,知道了用法,我来讲一下实际使用的一个例子和一个写好的bash脚本。

    还是使用我们在这系列第一篇里面用到的那个目录,希望你们还记得,不知道的可以进这里,我们需要在上一节那个目录的基础上添加两个目录,一个是ccb,里面存放我们游戏的ccb工程(在这里我们假设我们游戏只使用一个ccb工程,并且这个工程是使用CocosBuilder3.0alpha创建的),另外一个在res目录下的ccbis,里面存放我们生成的ccbi。创建好后应该是下面图这样子的目录结构:

    ccb的目录:

    为了清楚,我特意用不同的颜色把需要注意的目录都标出来了。
    好了,我们说一下我们脚本工具的思路。脚本工具放在tools这个目录中,它运行之后会去ccb这里目录中寻找所有的ccb文件(由CocosBuilder3.0alpha创建的工程ccb会存放到一个如图Resources子目录之下),然后将他们一一publish到res/ccbis这个目录中。下面是这个脚本:
     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文件了,是不是觉得很爽?

    好了,第二篇就这样,有问题留言:)

    版权所有,转载请注明出处:)

  • 相关阅读:
    随机产生16进制颜色值
    关于单元测试的思考--Asp.Net Core单元测试最佳实践
    使用xUnit为.net core程序进行单元测试
    SQLSERVER——查看阻塞信息(sp_who_lock优化无误版)
    SQLServer连接查询之Cross Apply和Outer Apply的区别及用法
    .netcore 写日志(使用NLog,log4net)
    概率与影响矩阵
    WebApi Helper帮助文档 swagger
    C# 使用HttpWebRequest Post提交数据,携带Cookie和相关参数示例
    解决哈希(HASH)冲突的主要方法
  • 原文地址:https://www.cnblogs.com/flyFreeZn/p/3617983.html
Copyright © 2020-2023  润新知