cocos2d-x 项目说明

1201 所有基于 cocos2d-x 的项目都将使用这套配置。如有特殊处理,将另立文档分项目进行说明。

下面的说明,以 黄鹤楼 作为范例,其他的项目完全相同。

请首先创建一个文件夹作为整个黄鹤楼项目的根文件夹,例如对于黄鹤楼来说,就创建一个 works/hhl 文件夹。

所有的子项目,都位于 hhl 文件夹之下。

client 项目是主项目,client 项目位于 hhl/client 文件夹中。

还有些项目位于 client 的子文件夹,下面将会详细说明。

1. 项目

1.1 子项目

项目的正常运行,依赖几个其它项目:

resource
同级文件夹,所有项目资源在均在此;
config
同级文件夹,项目的配置文件;
protocol
同级文件夹,项目中使用的协议;
framework
子文件夹,HHL 项目的平台相关代码,包含 C++代码 以及 Xcode、VS、Eclipse 项目文件;

1.2 相关项目

serverctrl
同级文件夹,服务器控制项目,这个项目中包含服务器配置文件,同时利用 git 的提交功能控制 HHL 的各个服务器;
socketserver
同级文件夹,client 使用的 socket 服务器项目;
httpserver
同级文件夹,client 使用的 http 服务器项目;
frameworks
构建 app 专用的项目。见 frameworks 项目
builder
项目构建工具,例如 HHL 项目的构建工具就是: 黄鹤楼 builder
doc
项目文档;

1.3 client 文件/文件夹说明

下面说明 client 项目中各文件夹的作用。

src
游戏主逻辑文件,lua 源文件;
conf
由 config 项目生成的配置文件,位于 src/conf ,lua 格式;
templates
使用 hhl templ 需要的模版文件。

2. 初始化项目

2.1 项目依赖

请自行安装以下软件

  • Python 3.4
  • Python 2.7
  • Android NDK r9d
  • Adnroid SDK
  • Eclipse with ADT
  • Xcode 6.0 或者 Vistual Studio 2013 for Desktop(不可使用 Express 版本)

2.2 安装 builder

对于黄鹤楼项目来说,就是安装 hhlb 工具,详见: 2.1 安装与更新

2.3 初始化项目

2.3.1 创建配置文件

打开 CMD 工具,执行下面的命令查看 builder 命令行参数(以 hhlb 为例)::

hhlb -h

这个操作会同时会创建 $HOME/hhlb_conf.py 配置文件。

必须请自行查看配置文件中的参数是否准确,并修改它们。

2.3.2 重新生成配置文件

zrong 会根据需要对配置文件进行修改,配置文件默认会自动升级成最新版本,若升级失败,可以执行下面的命令重新生成配置文件(以 hhlb 为例)::

hhlb admin --reconf

或者直接删除原来的配置文件,再次执行 builder 也会生成最新的配置文件。

2.3.3 初始化所有项目

在第一次使用项目的时候,请使用这个命令强制初始化(以 hhlb 为例)::

hhlb init -af

上面的命令会做下面几件事:

  1. 下载最新的cocos2d-x 框架并解压到正确的目录;
  2. 下载最新的 lua 框架并解压到正确的目录;
  3. 下载测试用的资源并解压到正确的目录;
  4. clone 所有相关的项目到正确的目录。

初始化完毕后,文件夹结构应如此所示::

/hhl
├── client
├── config
├── protocol
├── resource
└── serverctrl

client 项目的文件夹应如此所示::

client
├── README.md
├── frameworks
├── res
└── src

3. 更新项目

在开发过程中,经常需要更新项目库、依赖库、配置文件等等内容,若有更新,zrong 会通知大家,请按照下面的顺序进行。

若某些内容没有更新,可跳过。

3.1 更新顺序

  1. 2.1 安装与更新
  2. 2.3.2 重新生成配置文件
  3. 更新 cocos2d-x 源码库、lua 源码库、C++ 源码库、res 资源等等

3.2 常用 builder 命令

Warning

hhlb 的独立中文文档不再更新,请以命令行帮助为准。

以下是几个常用的命令(以 hhlb 为例):

hhlb update -a
更新所有的 git 库、所有的源码和资源。
hhlb update --cocos --lua --cpp
更新 cocos2d-x 源码库、lua 源码库、 C++ 项目源码。
hhlb res -a
基于 resource git 仓库更新所有的资源。

Note

完整的 update 子命令参数列表请看: 5. update 子命令
完整的 res 子命令参数列表请看: 7. res 子命令
查看 hhlb 的完整用法请看: 黄鹤楼 builder

4. 运行项目

4.1 编译项目

进入 framewroks 目录,使用对应的 IDE 打开目录,编译查看效果。

详细说明见: 4. runtime-src

4.2 使用模拟器直接运行

每个项目都有自己的独立模拟器,以黄鹤楼为例,仅针对 win32 用户:

访问 \\192.168.18.18\project\hhl\simulator\hhlplayer ,将其中的所有文件复制到自己的 client/runtime/win32 文件夹中。

使用 hhlb templ --runapp 命令,会在 client 下生成一个 runapp.bat 文件,双击即可运行。

4.3 更新模拟器

模拟器本身更新不频繁,若有更新,只需要使用 hhlplayer 文件夹下的 hhl.exelibcocos2d.dll 覆盖本地文件即可。

内容更新非常频繁,只需要将 hhlplayer 文件夹下的 res.zipsrc.zip 解压覆盖本地文件夹即可。

5. 日志查看工具

日志查看工具基于 WEB 界面:

http://192.168.18.18/log/

通过使用界面右上角的 Select Source 来查看不同的日志。

通过 Select View 可以选择不同的视图。

具体的日志查询可使用 Search 和 Advanced Search 。

详细的 Search 语法可以参考这里: LogAnalyzer Search Syntax

下面显示的是 HHL 项目的所有日志:

_images/log1.png

下面仅显示 serverctrl 项目的日志:

_images/log2.png