cocos2d-x v3.7 发布说明

Table of Contents generated with DocToc

概况

需求

环境需求

  • Android 2.3 及以上
  • iOS 5.0 及以上
  • OS X 10.7 及以上
  • Windows 7 及以上
  • Windows Phone 8.1
  • Linux Ubuntu 14.04 及以上
  • 现代浏览器和 IE 9+ (移动平台只有 iOS 和 Andorid 5.0 支持 WebGL)

编译需求

  • Xcode 5.1 及以上 (for iOS or Mac)
  • gcc 4.9 及以上 (for Linux)
  • ndk-r10c (for Android)
  • Visual Studio 2013 及以上 (for Windows (win32))
  • Visual Studio 2013 及以上 (for Windows Phone 8)

如何运行测试例

Cocos Console

在大部分平台上,你可以使用 Cocos Console 命令行工具来运行测试例。

在控制台里:

// 进入 cpp test 文件夹
cd tests/cpp-tests
// 或者进入 js test 文件夹
cd tests/js-tests
// 或者进入 lua test 文件夹
cd tests/lua-tests

// 编译或者运行测试例
cocos compile -p ios|mac|android|win32|win8_1|metro|web -m debug|release
cocos run -p ios|mac|android|win32|win8_1|metro|web -m debug|release

举个例子,如果你想要在 Android 平台上以发布模式运行 cpp test,你可以使用如下命令:

cocos run -p android -m release

Mac OSX & iOS

  • 进入 cocos2d-x/build 文件夹, 打开 cocos2d_test.xcodeproj 或者 cocos2d_js_tests.xcodeproj (JS 测试例,我们将会在v3.8合并这两个项目)
  • 在 Xcode 的 scheme toolbar 选择 iOS 或者 OS X 平台
  • 点击 run 按钮

Android

你可以运行一下示例...

使用命令行:

$ cd cocos2d-x
$ ./setup.py
$ cd build
$ ./android-build.py cpp-empty-test -p 10
$ adb install cocos2d-x/tests/cpp-empty-test/proj.android/bin/CppEmptyTest-debug.apk

然后点击安卓设备上的程序运行测试例,-p 指定了 Android API 等级,cocos2d-x 支持 level10 以上。

使用 Eclipse:

$ cd cocos2d-x
$ ./setup.py
$ cd build
$ ./android-build.py cpp-empty-test -p 10

然后

  • 把 cocos2d-x Android 项目导入 Eclipse 中,导入的路径是 cocos/platform/android
  • cpp-empty-test Android 项目导入 Eclipse 中,导入的路径是 tests/cpp-empty-test/proj.android
  • 编译 cpp-empty-test Android 项目,然后运行即可

Windows

  • 对 win32 项目, 进入 cocos2d-x/build 目录, 然后打开 cocos2d-win32.sln 或者 cocos2d-js-win32.sln
  • 对 win8.1 项目, 进入 cocos2d-x/build 目录, 然后打开 cocos2d-win8.1-universal.sln 或者 cocos2d-js-win8.1-universal.sln
  • 选择运行目标
  • 点击运行按钮

Linux

$ cd cocos2d-x/build
$ ./install-deps-linux.sh
$ cd ../..

然后

$ mkdir build
$ cd build
$ cmake ../cocos2d-x
$ make -j4

运行

$ cd bin/cpp-empty-test
$ ./cpp-empty-test

如何开始一个新游戏

使用 Cocos Console 来创建一个新游戏:

cocos new -l cpp|js|lua MyGame

v3.7

v3.7亮点

1.Cocos2d-x未来将只会发布final版本,所有的alpha,beta,rc版本只会在社区发布,包括中英文论坛,开发者QQ群等。而final版本会跟随Cocos同步发布。

2.v3.7版本中,Cocos2d-JS已经被合并到Cocos2d-x中,从现在开始,开发者不必纠结应该使用哪一款产品。在Cocos2d-x中,你同样可以使用C++/Lua/JS,然后发布在Windows/WP8.1/Android/Mac/iOS/Linux平台,如果使用JS的话,还可以发布在HTML5平台。在这个过渡期间,我们仍然会发布Cocos2d-x v3.7和Cocos2d-JS这两款产品,但实际上它们是同一个包。在将来的版本中,只会有一个包。想要了解更多内容,可以在这个帖子里讨论。

  • 3d: 增加 3D 物理支持(JS/Lua 完成)
  • 3d: 增加导航网格支持(JS/Lua 完成)
  • core: 增加材质系统支持(JS/Lua 完成)
  • sprite: 支持使用 autopolygon 生成器的 polygon sprite(JS/Lua 完成)
  • Scale9Sprite: 增加安卓点九图支持 (JS/Lua ready)
  • platform: 增加 Windows 10.0 Universal App(UWP) 支持
  • platform: 支持三星Enhanced API
  • C++: 增加 Android Studio 支持
  • JS: 合并了 JSB 和 web 引擎到 Cocos2d-x 中
  • JS: 为 iOS/Android/Web 增加 ccui.VideoPlayerccui.WebView
  • console: 支持使用 Cocos Console 编译运行 Android Studio 项目
  • SDKBOX: 非常方便地集成第三方 SDK 到 Cocos2d-x

下载

Cocos2d-x v3.7 包含 : C++, Lua & JS

主要功能:

3D物理

这是我们提供的一个用于支持3D物理游戏的物理引擎,它可以很好地配合当前3D模块,比如3D精灵,3D地形等等。我们使用bullet库来作为3D物理的基础,同时将它封装成Cocos 3D物理接口。你可以参考Physics3DTest测试例来查看它的API和用法,我们稍后将会增加相应的文档到programmers guide

3D导航网格

3D导航网格系统提供了一套简单易用的接口可以方便在复杂的3D世界中寻路,你可以通过添加一个三角形列表添加网格,以及添加障碍物。然后你可以通过添加一个代理来执行寻路任务,根据路径移动你的3D精灵到某个指定的地方。你可以参考NavmeshTest测试例来查看它的API和用法,我们稍后将会增加相应的文档到programmers guide

材质系统

材质系统是一个定义了对象的所有可视化信息(将来可能会包含音效和物理信息)的高级系统。相比于直接贴一张简单的2D贴图,你还可以做很多类似多通道渲染的高级功能。更多信息请参考文档

统一的 Cocos2d-x

在将Cocos2d-JS合并到Cocos2d-x后,对于C++/Lua开发者来说可能没什么改变,但是对于JS开发者来说引擎的结构可能看起来相当奇怪。不必担心,升级是非常简单的,因为项目的结构和之前仍然是一样的。更多信息请参考讨论贴

增强的Polygon Sprite

在前一个版本中Polygon Sprite不是很好用,因此我们重构了Polygon Sprite的API。现在它成了2d精灵的一个内部特性,你可以使用AutoPolygon来给一个精灵生成polygon信息,然后直接用它来创建精灵,非常简单。

auto pinfo = AutoPolygon::generatePolygon("filename.png");
auto spp = Sprite::create(pinfo);

虽然它在生成polygon信息的时候需要花费点时间,但是你可以缓存下来并进行复用,我们计划将来直接在编辑器中生成polygon信息。

JS 的 WebView 和 VideoPlayer(支持原生和 HTML5)

WebView和VideoPlayer已经移植到JS中,同时支持iOS,Android和Web浏览器。你可以在测试例中参考它们的使用方法:WebViewTestVideoPlayerTest

支持点九图

点九图是一个可伸展的位图图片,它可以被用作Scale9Sprite的纹理。现在Cocos2d-x支持直接使用一个点九图文件来创建Scale9Sprite节点。更多信息请参考点九图图片格式制作工具。你也可以参考我们的测试例以了解使用方法:C++LuaJS

支持Android Studio

Cocos console现在支持使用Andriod Studio1.2编译和打包安卓程序,使用的时候带上--android-studio即可。

cocos run/compile -p android --android-studio

支持三星Enhanced API

对于Android 5.0+系统的三星产品,三星提供了一系列Enhanced API以优化Cocos2d-x游戏。它包含了一些很酷的特性,比如:性能加速API,省电模式API,动态FPS的API等等。目前这些API可以在这个头文件中找到,我们稍后将会提供一份更详细的文档。

Win32 平台资源名称大小写敏感

在之前的版本中,win32 平台的资源名大小写是不敏感的,但是其他平台却是敏感的。这会导致一些问题,尤其是开发者在win32平台开发,然后在其他平台(比如安卓)发布。在 win32 上,没有匹配大小写,文件名可能也会被找到,但是在其他平台上就找不到了。所以我们决定让 win32 平台的资源名大小写敏感。请确认一下您的资源中文件名是正确的。

SDKBOX

SDKBOX是由Cocos团队打造的新工具产品,它致力于让海外SDK接入更加轻松便捷,給广大瞄准海外市场的开发者新的机遇。使用SDKBOX,开发者可以用一条命令集成第三方服务到自己的工程中:

sdkbox import -b iap

目前已经支持的第三方服务SDK包括:

下一步计划

正如你所看到的,v3.7中,我们采用了材质系统,集成了polygon sprite以提高我们的2d渲染,更重要的是,我们的3d功能变得越来越完整,3d物理,导航网格,以及之前的相机,3d精灵,3d粒子系统,3d光照,3d地形,天空盒。现在,你可以真正地使用Cocos来做一款3d游戏了。

在v3.8中,我们不会做一些新功能,而是会放慢速度,全力优化当前的2d和3d模块。

v3.8 里程碑任务