Cocos2d-x 3.17 正式版本发布

重要提示

下载地址 http://www.cocos.com/download

文档地址 http://docs.cocos.com/cocos2d-x/manual/zh/

  • 环境搭建章节有较多更新,建议阅读

3.17 版本的问题,请优先在本帖回复,集中讨论便于其它开发者了解

发布说明

Cocos2d-x 3.17 版本着重于工具链的更新,和稳定性的增强。

测试环境

Android 平台使用 Android Studio (3.0, 3.1, 3.1.1) 和 NDK r16 进行测试。

版本特性

  • 支持 iPhone X
  • 支持 Android Studio 3.0+
  • CMake 支持全平台,支持预编译引擎库
  • 升级 Spine runtime 至 v3.6.39
  • 升级 GLFW 至 3.2.1,并提供预编译库
  • 更新 Box2D,并提供预编译库
  • 去除 Android 的 ant 工程
  • 去除 Visual Studio 2013 的支持

详细介绍

支持 iPhone X

3.17 带来对 iPhone X 的支持,包含支持全屏模式,支持自动隐藏 Home 指示器,改用 Storyboard 作为启动屏幕,和增加获取 Safe Area 的接口。在开发支持 iPhone X 的应用时,最需要了解清楚的就是 Safe Area:

开发者可以通过调用 Director::getSafeAreaRect() 来获取 Safe Area 区域。

支持 Android Studio 3.0+

Android Studio 是 Google 官方唯一支持的 Android 开发 IDE。

该版本增加了对 Android Studio 3.0+ 的支持。在支持的过程中,同时将 NDK 版本从 r14 升级到 r16。对 Gradle 工程配置也进行了诸多改进,包括简化 Gradle 变量 PROP_*,将依赖声明中弃用的 compile 改为新的 implementation,增加用以削减 Release 包体积的 Proguard 文件。

CMake 支持全平台

扩展 CMake 构建支持至全平台,包括 Android (NDK)、iOS、macOS、Linux、Windows(VC++ compiler)。支持将引擎部分进行预编译,并在新的构建过程中重用预编译的引擎库。通过使用预编译库,可以极大的缩短工程构建时间。

详细的使用方法请参考 CMake 文档

升级第三方库

Spine 骨骼动画广泛用于 Cocos2d-x 开发的游戏,引擎跟进 Spine 的升级,升级 Runtime 至 3.6.39。

升级 GLFW 至 3.2.1 以修复支持游戏手柄时存在的问题,同时提供 GLFW 预编译库。

社区希望引擎升级 Box2D,可 Box2D 的新版本迟迟未发布,根据反馈 GitHub 提交 f655c603ba9d83 是稳定的,升级 Box2D 至该提交,同时提供 Box2D 的预编译库。

每一次版本发布,都会附带特定版本的第三方预编译库,如果由于项目需要想对第三方库进行定制,请参考: 第三方库文档

移除过时的内容

由于 Google 官方自 Android SDK Tools 25.3.0 就已放弃 ant 支持。移除旧有的 proj.android ant 工程,新的 proj.android 是 Android Studio 工程。NDK r16 弃用了 armeabi,引擎调整默认的编译架构从 armeabi 为 armeabi-v7a。

在 win32 平台,越来越多的开发者已经使用 Visual Studio 2015/2017 进行开发,移除对年代久远的 2013 的支持。现存的工程配置适合于 2015 ,如果需要使用 2017,可打开现有的 sln 文件,调整配置,或使用 CMake。

Bugs 修复,提高稳定性

该版本包含 51 项 bugs 修复和 33 项小改进,不再列举,请参考 Changelog

1赞

还是没有3D,差评

没什么新特性 差评

1赞

新的 3D 不属于狭义的 Cocos2d-x,有专门的团队做,3D 的话题不建议在这里讨论

2赞

Cocos2d-x 的大佬们,最近很少出没论坛,在专心搞 4.0,大的新特性需要等到 4.0,本次主要是修复 bug,升级第三方库,升级工具链,还有其它一些小更新。

1赞

大佬,总得给个时间点吧:joy:今年能出吗

大佬,别拉歪楼,计划请参考论坛其它贴,cocos 老大的回复

我只关心。。4.0出的时候 能不能把不维护的3d那套东西给删了!!

会考虑做这个事情的,之前开发者有反馈,不维护的 3D 影响了 2D 的性能, @minggo 你怎么看待这个要求

提了一个 Issues 3D in cocos2d-x should be removed or not #18840 目前有一个开发者提出反对意见

------补充
从 GitHub 国外开发者的反馈来看,也是需要的,目前不会考虑删除

优秀 :smile:

cmake构建总是这样子的错误,请问是哪里的问题?
我把log也传上来吧,log很奇怪,开始汉字正常,后面全乱码。
CMakeOutput.zip (43.5 KB)

1赞

支持下,顶我上去

2赞

你用的是 GitHub 最新的代码,3.17 之后有一次 copy 文件逻辑的重构导致的问题,有修复 PR,未合并。

解决办法,用 cocos2d-x-3.17 的 tag,或者手动合并修复的 PR,相关讨论:

对应 Issues Cocos2dx failed with cmake when build with MSVC
修复 PR let app resource path visible when executing “cmake …” on win32

1赞

好的,谢谢

主要是iphone x的支持,挺不错的。
要不是现在creator没有parallax node ,早转过去了。
一个残酷的现实就是:cocos2d-x该被抛弃

1赞

iPhone X 支持是其中之一了,实际在支持 Android Studio 3.0 + 的那一项,改动了很多 AS 工程配置,理清了各种 version,和 3.16 对比才能发现

CMake 是英文社区呼声比较高的一项,跨平台的引擎应该用跨平台的构建工具,这版本加入支持,以后很完善的话,就可以代替不同平台提供不同的项目工程,这种麻烦的做法。

cocos 官方团队是重心不在 cocos2d-x,不是抛弃,你可能有误解

1赞

棋牌游戏一阵压,没有大项目积累,大半年就更新这些东西

1赞

感觉更新的东西也有点少

@_cocoser 合并 PR 后,问题解决了吗?

相比之前更新是少了一些,不否认,不过 2d-x 是纯开源免费的东西,希望不要以一种责备的语气回应。