Posted June 16, 2020 by Cocos Technologies
Cocos Creator v2.3.4 is here! This update brings more new features, optimizes performance and improves stability. Efficiency is everything!
It is recommended for all v2.3.x developers to upgrade! Please perform the necessary technical evaluation and backups before upgrading.
Cloud Development (Tencent Cloud Base, TCB) is Tencent Cloud’s one-stop back-end cloud service for mobile developers. Developers can access the service with one click inside Cocos Creator. After accessing the service, you can manage all cloud functions in the cloud function panel, including operations such as adding, deleting, and synchronizing.
For more details, please refer to Tencent Cloud Development 6 documentation.
Mini Game Online Battle Engine (MGOBE) provides room management, online matching, frame synchronization, status synchronization, etc… Developers can quickly build networked, multiplayer interactive games. Developers do not need to pay attention to the underlying network architecture, network communication, *server expansion and contraction, operation and maintenance, etc… They can obtain nearby access, low latency, and *real-time expansion of high-performance online MGOBE is suitable for games such as turn-based, strategy, real-time conversation (casual battle, MOBA, FPS) and so on.
Developers can access the service with one click from within Cocos Creator. For more details, please refer to Mini Game Online Battle Engine 2 documentation.
Game Multimedia Engine (GME) provides a one-stop voice solution. In-depth optimization for different scenarios including covering games, social networking, entertainment and other pan-Internet industry application scenarios. GME includes real-time voice, voice message, text-to-text, and voice analysis services to meet diverse voice needs.
Developers can access the service with one click from within Cocos Creator. For more details, please refer to Game Multimedia Engine documentation.
Upgrading a project from a previous version of Cocos Creator is irreversible. Please backup the old version of the project before upgrading.
Projects under development can usually be upgraded seamlessly, but because of the uniqueness of each project, developers should conduct a technical evaluation based on their project’s own needs. If developers encounter difficulties in upgrading, please feel free to give us feedback and we will try our best to assist. In addition, due to stability considerations, it is recommended that projects that are about to be launched or already launched be upgraded with caution.
CCTexture2D
and CCTexture2DRGB
methods in the Effect have been abandoned.Vec3.FRONT
has been abandoned, please use Vec3.FORWARD
instead.Since v2.3.0, Android and Android Instant use the same build template, please note:
app/src
directory, and the third-party library used by itself, please put it in theapp/libs
directory.game/src
, game/libs
directories.src
and libs
directories under the proj.android-studio
root directory, respectively.proj.android-studio
under the root directory jni/CocosAndroid.mk
, jni/CocosApplication.mk
, mainly used to configure engine-related configuration, developer configuration, it is recommended that Android be placed in app/jni/Android.mk
and app/jni/Application.mk
, Android Instant, please put in game/jni/Android.mk
and game/jni/Application.mk
.assembleRelease/Debug
by default, and when compiling for Android Instant, it will execute instant: assembleRelease/Debug
.In addition, when Cocos Creator compiles for Android, it will execute assembleRelease/Debug
by default, and when compiling Android Instant, it will execute in``stant:assembleRelease/Debug
.
If you have customized the pause logic when switching between audio background and background, please remove it after upgrading to 2.3.0 Currently Cocos Creator games automatically pause and resume audio internally when switching between front and back on all platforms. If the developer has customized this block before, and listens for and performs audio operations like cc.audioEngine.pause()
and resume()
, it may conflict with the engine’s default behavior. If you encounter related audio issues, simply remove the corresponding custom code.
Starting from 2.3.0, the Canvas component is no longer responsible for setting the Canvas node size to the screen size. This behavior will be implemented in conjunction with the Widget component. To ensure compatibility, after the 2.0 project is upgraded, the node where Canvas is located will automatically add Widget components. (No problem upgrading from a 1.0 project)
Starting from 2.2.0, we have strengthened the memory management mechanism, and now require users to dynamically create cc.Node
which is independent of the scene node tree through code must be released through destroy()
, otherwise the engine cannot know when to recycle this type The memory of the node will cause a memory leak.
// Assuming testNode is a node in the scene, if it was manually removed //from the scene before, such as testNode.parent = null; // or testNode.removeFromParent(true); // or parentNode.removeChild(testNode); // If testNode will be used again in the future, there is no need to // manually destroy the node otherwise it should be called manually testNode.destroy();
cc.NodePool
, it is not affected.If you open the 1.x project, all resources such as scenes will be upgraded automatically. If there are warnings or errors in the code, you can refer to v1.10.0 Resource Upgrade Guide and the v2.0.0 Upgrade Documentation.