We are happy to announce the release of Cocos2d-x & JS v3.7. It’s a big version for us, there are three very important changes in v3.7:
1. Cocos2d-x will only publish the final versions publicly in the future, all alpha, beta, rc versions will be exclusively published in the community. By that we mean in the English and Chinese forum, in developers QQ groups, by the GitHub tags. The final versions will be published with the all in one Cocos.
2. Cocos2d-JS is merged into Cocos2d-x in v3.7, from now on, developers won’t get confused about which product they should use. With Cocos2d-x, you can work with C++/Lua/JS and publish to Windows/WP8.1/Android/Mac/iOS/Linux and Web if you use JS. For a smooth transition, we will still announce two products in v3.7, Cocos2d-x v3.7 and Cocos2d-JS v3.7, but they share exactly the same package. In the future versions, there will be only one package. For reference, this have been discussed in another thread.
3. Cocos Framework is merged into Cocos2d-x in v3.7, now developers can customize their own Cocos Framework. For saving compilation time, increase development efficiency, Cocos Framework was designed to be the pre-compiled version of Cocos2d-x. Before v3.7, developers can’t customized the native part of Cocos Framework. But in this version, you can customize Cocos2d-x and publish a customized framework, it can be used in Cocos v2.3.1+ to create project.
Cocos2d-x v3.7, including: C++, Lua & JS.
The main features of Cocos2d-x v3.7:
1. 3D Physics
It’s the physics engine we provided for providing 3D physics game capability, it works great with our current 3D modules, like 3D sprites, 3D Terrain, etc. We used the bullet library as base of 3D physics, encapsulate it into our Cocos 3D physics APIs. You can refer to Physics3DTest test case for its API and usage, we will add documentation into the Programmers Guide soon.
2. 3D Navigation mesh
The navigation mesh system provides simple to use API to find path in a complex 3D world, you can add mesh with a triangles list, and obstacles. Then you will add agents which can perform a path finding task and move your 3D sprites to a certain place following the path. You can refer to NavmeshTest test case for its API and usage, we will add documentation into the Programmers Guide soon.
3. Material system
Material system is an advanced system which defines all visual information (it may contain aural or physical information in the future) of an object. Instead of just plain an simple texture, you can have more than one texture, and much more features like multi-pass rendering. Refer to the
documentation for more details.
4. All in one Cocos2d-x
After merged Cocos2d-JS into Cocos2d-x, nothing have changed for C++ and Lua developers, but the engine structure may look very strange to JS developers. Don’t worry, the upgrade is still very simple, because the project structure remains the same as before. Refer to this discussion for more information.
5. Enhanced Polygon Sprite
As it’s not very easy to used in the previous version, we have refactored the API for Polygon Sprite. It’s now becoming a internal feature of 2d Sprite, you can use AutoPolygon to generate polygons for a sprite, then use it to create the sprite directly, very simple to use.
auto pinfo = AutoPolygon::generatePolygon("filename.png");
auto spp = Sprite::create(pinfo);
Although it do takes time to generate the polygons information, you can cache and reuse it, we also plan to support the polygons information generation in the editor in the future.
6. WebView and VideoPlayer in JS (native and web)
The WebView and VideoPlayer have finally been ported to JS, and it supports iOS, Android and Web browsers. You can refer to its APIs and usages :
7. Nine Patch format support
The Nine Patch image is a stretchable bitmap image which can be used as the texture of Scale9Sprite. Now Cocos2d-x support creating the Scale9Sprite node directly with a Nine Patch file. More information about the Nine Patch format and its tool. You can also refer to our test case for its usage: C++, Lua, JS.
8. Android Studio support
Cocos console now supports compilation and package with Android Studio 1.2, use it with a
cocos run/compile -p android --android-studio
9. Samsung Enhanced API support
Samsung have provided a series of Enhanced API to optimize Cocos2d-x games for Samsung products with Android 5.0+ system. It include some very cool features like: Boost Up API, Power Saving Mode API, Dynamic FPS API, etc. The current API can be found in this header file, we will provide detailed documentation later.
SDKBOX is a project that’s built by part of the Cocos2d-x team, in order to makes integrating 3rd party SDKs super EASY.
With SDKBOX you can integrate services like In App Purchase with one command
sdkbox import iap
Currently supported service including
As you can see, in v3.7, we have enhanced our 2d rendering with material system and integrated polygon sprite. More importantly, our 3d features become more and more complete, 3d Physics and Navigation Mesh with the previous Camera, 3d Sprite, 3d Particle System, 3d Light, 3d Terrain, Skybox, now you can really start to use Cocos to make a 3d game.
The Next Step
In v3.8, we won’t do much more features, but we’d like to slow down and refine our current 3D and 2D modules. The v3.8 milestone.