frameworks 项目

1. 概述

在发布层面,cocos2d-x 3.4 和 quick 2.x 有两个最大的不同:

  1. 将整个发布项目作为子模块包含在母项目中;
  2. 将所有的扩展的引擎功能(C++)部分作为项目的一部分提供,而非作为引擎的功能提供。

因此,在本项目的 Classes 文件夹中有大量提供扩展支持的 C++ 源码。

本项目的文件夹结构如下::

distribution
├── cocos2d-x
├── runtime-src
│   ├── Classes
│   ├── proj.android
│   ├── proj.ios_mac
│   ├── proj.linux
│   └── proj.win32
└── tolua
    ├── auto
    └── manual

2. cocos2d-x

cocos2d-x 文件夹在 git 仓库中是被排除的,因此必须下载引擎库才能进行编译。查看 5. update 子命令 了解如何更新 cocos2d-x 引擎。

这样进行安排有如下好处:

  1. 避免每个开发者都要维护一个引擎的 git 仓库;
  2. 保证引擎代码质量;
  3. 在需要更新引擎代码的时候,直接从局域网下载,速度快;
  4. 保证最新的代码只有一份。

3. tolua

这个目录保存 tolua 的具体配置。

在 cocos2d-x 3.x 中,tolua 有自动和手动两种模式。

  • 自动生成会将最终的 C++ 文件生成到 Classes/lua-bindings/auto 文件夹;
  • 手动生成会将最终的 C++ 文件生成到 Classes/lua-bindings/manual 文件夹。

Note

使用 hhlb admin --tolua 命令来生成 tolua 文件。这个工作由 zrong 完成,其他开发者可不必理会。

4. runtime-src

其中的4个 proj 开头的文件夹,对应着5个平台的项目,分别使用对应的 IDE 打开:

proj.win32
使用 Visual Studio 2013 professional 打开其中的 hhl.sln 解决方案。
proj.ios_mac
使用 Xcode 6.1 打开其中的 hhl.xcodeproj 项目。这个项目包含 Mac OSX 和 iOS 两个平台的 target。在编译之前,要在 Xcode 中选择正确的 target(for mac or for iOS)。
proj.android
使用 Eclipse With ADT 操作。
proj.linux

5. Classes

文件夹结构如下::

runtime-src/Classes
├── AppDelegate.cpp
├── AppDelegate.h
├── dragonbones
├── filters
├── lua-bindings
│   ├── auto
│   └── manual
├── lua_module_register.h
├── lua_module_register_proj.h
└── quick
    ├── apptools
    ├── lfs
    └── lpack

下面介绍几个重要的文件夹的功能:

dragonbones
dragonbones 支持
filters
filters 支持
lua-bindings
本项目中的 lua 绑定支持
lua_module_register.h
对 cocos2d-x 中提供的 lua 模块进行注册
lua_module_register_proj.h
对本项目中提供的 lua 模块进行注册
quick
使用 quick lua 框架时必须的 C++ 支持

6. 编译

win32 项目,在进行 Debug 的时候(VS F5快捷键),VS 会将编译结果输出到 proj.win32/Debug.win32 目录中。

如果在 VS 环境下调试,在调试运行时会一切正常,不会有资源的路径问题。

下面说一下可能出现的问题:

6.1 将编译结果发布

如果要把编译结果复制给其他同事查看效果,或者直接双击其中的 hhl.exe 运行,则会出现资源路径问题。请使用下面的方法处理:

  1. 创建一个新文件夹(使用英文名,不包含空格,放置在英文路径下),将 proj.win32/Debug.win32 中的 *.exe *.dll 复制到新文件夹中;
  2. 复制 client/src 到这个文件夹;
  3. 复制 client/res 到这个文件夹;
  4. 完毕。

为了开发方便,在开发过程中,建议在 proj.win32/Debug.win32 文件夹中建立指向这两个文件夹的 symbol link 。

windows 7 下建立 symbol link 的命令为 mklink ,请使用管理员权限执行该命令。

Table Of Contents

Previous topic

cocos2d-x 项目说明

Next topic

1201 cocos2d-x LUA 框架

This Page