代码改变世界

`cocos2dx非完整`开篇

2015-05-25 12:02  respawn  阅读(569)  评论(0编辑  收藏  举报

相信每个人都有一些自己的项目开发习惯,在·开篇·中我主要是会提到一些项目的配置问题.无论做一款什么样的手游项目,我们总是会从需求的角度出发去选择开发引擎,开发工具等一些列的工具去完善我们的开发环境.当然,对引擎的选择是很关键的(我们不讨论的需求,因为毕竟不是针对真是的展品,从学习交流的角度),不过我们这边只会选择cocos2d-x.

对于cocos2d-x,我总是赶不上官方更新的脚步.官方更新cocos engine(废除掉cocostudio以后的新东西),cocos2d-x engine开发包,cocos ide的脚步比较快,我选择的是cocos2d-x 3.3final.开发工具选择的不是cocos ide,而是一般的文本编辑器,根据个人爱好吧,我选用的是sublime text, 也可以选用ue,或者是ms新发出的code.前期需要的就只需要这么多到了.因为选用的版本是cocos2d-x 3.3 final.所以coco engine可能是没法用的.在后续的部分,我会给出一个我自己的解决方案,也可以先透漏一下,Ui部分自己写一个lua层面的中间解析库.动画部分用cocostudio v1.6来做就好了.这个呢就先带过吧.

上面也是透漏了,我不会选用单纯的c++去做,主要的原因是我对c++0x11不熟悉,一直没时间去学这个东西.从效率的角度出发,当然是c++要更快,更快也是要付出代价的,对程序员的素质要求也就更高.脚本的支持也是很多的,还是选用lua吧,其他脚本还要花时间去学习,虽然不是很难,可是还是在熟悉的领域做事比较舒服.废话也就这么多了,下面是要配置一下我们的win开发环境。

我不是高富帅,只有x86机器,所以我们来配置一下window开发环境.具体的文档可以参考cocos2dx-3.3/tools/bindings-generator/README.md文档. 对于一直使用cocos ide的同学可能有些人没有配置过,不过没关系,都是点点鼠标的事情,没什么难的.

下面我们创建一个自己的项目, 我给这一系列的项目起了一个名字叫做 firework. 这个名称的由来很简单, 就是想简单一点. cocos2d-x提供了终端脚本来创建项目,不过要在CMD穿越一大堆的目录还是略显蛋疼, 所以我就写了几个WIN32批处理脚本.  

 1 @echo off
 2 @setlocal
 3 
 4 
 5 :start
 6 
 7 set PYTHON_BIN=python
 8 set COCOS_BIN=E:\cocos2d-x-3.3\tools\cocos2d-console\bin\cocos.py
 9 set PROJECT_NAME=firework
10 set PACKAGE=com.respawn.firework
11 set LANGUAGE=lua
12 set DST=../
13 
14 %PYTHON_BIN% %COCOS_BIN% new %PROJECT_NAME% -p %PACKAGE% -l %LANGUAGE% -d %DST%
15 
16 pause

这个脚本很简单, 使用的时候可以先创建这样的文件目录结构.

 -- c2dx-firework-lua(我的项目根文件夹)

    -- scripts

        -- create-project.cmd

        -- compile-win32.cmd

        -- compile-android.cmd

   -- firework(create-project.cmd创建的cocos2dx项目)

 创建好项目之后就是编译咯. 我给出我的编译脚本.也就是上面的(compile-win32/android.cmd)

 1 @echo off
 2 @setlocal
 3 
 4 :start
 5 
 6 set PYTHON_BIN=python
 7 set COCOS_BIN=E:\cocos2d-x-3.3\tools\cocos2d-console\bin\cocos.py        
 8 cd ../firework
 9 %PYTHON_BIN% %COCOS_BIN% compile -p win32 -j2
10 
11 pause

 

相同, compile-android.cmd则直接修改上面的编译平台就行了.这个大家应该都是知道的.至于是不是用多线程编译就视自己的机器情况而看吧.

编译好之后我们在scripts同级目录创建一个文件夹, 用作WIN32开发的根目录. 因为win32编译之后的文件目录层次有点深了, 每次都需要一点点点到那边很费劲. 所以干脆就移除来吧. 另外这么做的目的也是方便SVN/GIT管理.总不能把所有firework目录的东西都上传到版本仓库吧.太大了, 使用过得就都知道.好的, 我加上了版本号,创建了一个firework-v1.0的文件夹.在下面又创建了两个子文件夹也就是apk/和win32-build.

-- c2dx-firework-lua(我的项目根文件夹)

    -- scripts

        -- create-project.cmd

        -- compile-win32.cmd

        -- compile-android.cmd

   -- firework(create-project.cmd创建的cocos2dx项目)

   -- firework-v1.0

      --apk

      --win32-build

我们将编译好的runtime下面的文件以及库对用WIN32都拷贝到win32-build下面.如果打包了那就把apk拷贝到apk下面.然后firework-v1.0就作为仓库的一个子目录上传就好了.这样无论是同步还是更新的速度都很快.好了,开篇的文章就是这么多了.