hero-image
2019.11.11

V2.1.4

Publish Time: 2019.11.11

Cocos Creator v2.1.4 adds support for Alipay games.

Support for Alipay games

Cocos Creator officially supports releasing to the new Alipay platform. Since Cocos Creatorsmoothes the transition between platforms for developers, it’s easy for developers to publish to Alipay games. For detailed steps refer to Publish to AlipayAlipay is currently being opened and is a prime target for future opportunities.

Other changes (relative to 2.1.3)

  • Fixing a disabled Label node may cause Prefab to fail to roll back in the editor [#5460]
  • Fixed UA information recognition issue in Safari browser after iPad update to iPadOS 13.1.1+
    (thanks to krapnikkk)[#5636]

Version Updates

Cocos Creator v2.2.1 is coming soon. please view the Welcome Experience topic. This version will integrate Alipay games.

2019.10.18

V2.2.0

Publish Time: 2019.10.18

The Cocos Creator team has been hard at work ensuring that your games perform very well on each platform we support. Cocos Creator v2.2.0 greatly enhances the performance of the native platform, and includes a large number of feature enhancements and experience improvements. All Cocos Creator developers should consider upgrading to this latest version.

What’s New

Greatly improve native platform rendering performance

In this version, we have significantly upgraded the rendering engine and achieved tremendous performance improvements on native platforms, surpassing the speeds of all previous versions of Cocos CreatorCocos2d-js and Cocos2d-x.

Cocos Creator v2.2 can meet all the performance needs of every game, small to large, simple to complex, few gaphics to 1,000’s of graphics. To help gauge performance, low-end devices, such as the OPPO A57 and the iPhone 6S+ were used. We also compared previous versions of Cocos CreatorCocos2d-jsCocos2d-x and Cocos2d-lua to ensure we were testing in a broad spectrum, to provide the most accurate data. The results:

  • On Android native, the performance of Cocos Creator v2.2.0 is 1.5x - 1.7x Cocos2d-lua and Cocos Creator v1.9.3.
  • On iOS native, the performance of Cocos Creator v2.2.0 is flush with
    Cocos2d-lua, which is 3x - 4x Cocos Creator v1.9.3.

In addition, Cocos Creator v2.2.0 running on iOS not only improves the frame rate, but also greatly reduces any possibility of jittering when garbage collection occurs. This means the actual game play experience will be really smooth. Here is detailed performance data:

Support 3D model rendering batch

Cocos Creator v2.2.0 adds support for rendering batches of 3D models, which effectively reduces the drawcalls for 3D games. To enable this feature, you simply check the enableAutoBatch attribute on the Mesh Renderer and the engine will automatically batch based on the material used, as well as the Mesh vertex format and Primitive Type. For better optimization, it is recommended that you enable this option only for models that can be batched and have a small number of vertices.

Support for alpha channel separation of PVR compressed textures

Alpha channel separation format (RGB+A) for PVR compressed textures has been added. This format uses a similar method to etc. to separate and compress the transparent channel of the texture. After compression, the texture height will be twice that of the original image, thus avoiding the problem of low image quality in the conventional PVR RGBA format.

Support for custom browser preview templates

Allow users to customize the webpage used for browser preview in a way similar to custom build templates. Support for 3 formats: HTMLJadeEJS. See: Custom Preview Templates.

Support for ambient light settings

We have added an ambient light setting to the Light component for basic lighting of 3D scenes. This is often used to solve the problem of blackout of the back surface of the model. Just select Create Light → Ambient in the Node creation menu. You can also add a Light component to the Node and set the type to be created for AMBIENT.

s_29ACC24992E4A44CE5176A2D2E889601C0E63C73C50DFF1EE1EC457442D50DDE_1565104376686_image

Further improve the performance of Spine and DragonBones

Cocos Creator v2.2.0 optimizes the performance of 2D skeletal animation on various platforms.

  • On the native platform, we have added support for Spine and DragonBones SHARED_CACHE and PRIVATE_CACHE. When the acceleration mode is enabled, the Spine performance of the Android platform is 2x that of the original, and the DragonBones performance
    is 7x the original. iOS platform Spine performance is 3x the original,
    DragonBones is 5x the original.
  • After enabling acceleration mode on the web platform, Android Spine performance is 3x the original, and DragonBones performance is 4x the original. iOS Spine performance is 1.25x the original, DragonBones performance is 1.39x the original.

Here is a breakdown of the detailed performance data:

To enable acceleration mode, simply set the Animation Cache Mode to SHARED_CACHE or PRIVATE_CACHE on the Spine or DragonBones component. For more detailed information acceleration mode, refer to the property descriptions in the documentation.

Spine runtime upgraded to 3.7

Significantly enhanced TiledMap support

Cocos Creator v2.2.0 further improves the support of TiledMap. Grid rotation, grid animation, image layers, layer offsets, and object group text are now supported. Supporting multiple Tilesets in a single layer is also now possible. It also supports adding child nodes to the scene and creating an occlusion relationship with the map. And fixed the problem of rendering errors after a single map vertex exceeds 65535. For details, see TiledMap Component Reference. For details on use cases, see ShieldNode in the engine’s own example.

Property inspector tag supports width adjustment

We added a width adjustment function to the Property inspector to solve the problem of incomplete display of attribute names on some components. Now users do not need to greatly adjust the size of the entire panel, just drag the dividing line to the right of the property name to freely adjust the split ratio.

s_84AB3EB423BB17225D53491883466E78DE2FEDCE7C07666129058B3863C80C28_1568199751166_Prop%20Resizer

Release Notes

Improvements

  • Optimize the editor and the startup speed of each panel
  • Avoid every time the WeChat game build will overwrite the configuration file in the target project in order to retain the user’s custom configuration
  • Change the margin property in the SpriteFrame resource panel and Sprite Editor from the trimmed margin to the original margin. Make it consistent with the data given in the art drawing, and have no effect on the old project data.
  • Automatically remove the open domain components of other small game platforms during the build process, users do not need to manually configure in the module settings
  • The native platform package name in the build panel will be stored separately according to different platforms
  • Upgrade the editor’s Electron to 5.0.8, V8 to 7.3, node.js to 12.0.0
  • Optimized Spine Initialization problem after enabling acceleration mode
  • Officially supported on iOS platform etc2 Compressed texture
  • Enable OpenGLES3 by default on iOS
  • Adaptation macOS Catalina

Editor

  • Fixed an issue where the scene name could not be obtained during preview after exiting Prefab edit mode
  • Fixed 3D node in scene editor may show confusion after exiting Prefab edit mode
  • Fixed an issue where the animation editor was being deleted and the animation editor would report an error.

Engine

  • Fixed an issue where events polled with once could not be logged off
  • Fixed cc.systemEvent listening for invalid once events (thanks to Zty)
  • Fixes DragonBones and Spine textures do not support the problem of scene resource lazy loading [#4299]
  • Fix part DragonBones The animation is not playing correctly
  • Fixed an issue where warnings were not raised when the type was set to JavaScript’s native NumberString, etc. when using the decorator to declare CCClass
  • Fixed a problem where the default value is incorrect when the CCClass is declared as the default value of cc.Stringcc.Boolean, etc.

Native

  • Fixed a problem with music being paused from the background after the music was paused on the native platform [#141] [#1875]
  • Fix Android After playing multiple Audio instances in succession, there is a random problem with some sounds [#1869]
  • Fixed Audio for lazy loading on native platforms, unable to stop after playback [#180]
  • Fix iOS or Mac When the native platform reloads Font, it may cause memory leaks [#1761]
  • Fix iOS 13 Dark mode causes EditBox white fonts are not visible [#1866]

Web

  • Fix IE11 VideoPlayer Can’t full screen issue [#4879]

Mini Game

  • Fixed AudioSource’s playOnload may not work
  • Avoid iOS on Baidu game cut scenes may be black screen problem

REMOVED

  • Removed Visual Studio 2015 support for building Windows platforms for unified use of 2017.

BREAKING CHANGES

  • Adjust cc.winSize from cc.Vec2 to cc.Size

KNOWN ISSUES

  • v2.2.0 does not support the Skew effect on nodes for the time being. We will provide documentation to guide you to manually enable Skew support. For new projects it is suggest ed to use 3D Sprite directly instead of Skew. For old projects please refer to [#5564] and [#1889] to match js and native engines to support Skew.
  • After publishing to Windows/Mac, to resize the screen, please manually follow [#1930] to accommodate.
  • Some old projects may have referred to this [forum post], which implements screen rotation on iOS and Android. This is now old information. Please manually follow [#1930] to accommodate.
  • On some macOS machines, `Label` will appear in the CHAR mode with a white border. This problem has a small impact and will be fixed in 2.2.1. For more follow-up version plans, please refer to the [roadmap].

Upgrade Instructions

  • If you open the 1.x project, all resources such as the scene will be automatically upgraded. If there is a warning or an error, please refer to 1.10.0 Resource Upgrade Guide and 2.0.0 Upgrade Documentation to make adjustments.
  • 2.0, 2.1 Projects can be upgraded directly and seamlessly.
  • Starting with 2.2, we have enhanced the memory management mechanism. Now the cc.Nodethat is dynamically created by the code and independent of the scene node tree must be released by destroy(), otherwise the engine doesn’t know when to recycle such nodes. In addition, nodes that are manually removed from the scene need to unify destroy when they are not needed. If the node is managed via cc.NodePool, it is not affected.
    // Suppose testNode is a node in the scene, if it was manually removed from the scene, such as
    testNode.parent = null;
    // or
    testNode.removeFromParent(true);
    // or
    parentNode.removeChild(testNode);
    // If testNode will be used again later, there is no need to manually destroy the node.
    // Otherwise it should be called manually
    testNode.destroy();
2019.09.20

V2.1.3

Publish Time: 2019.09.20

Since the release of Cocos Creator 2.1.0, after six months of update iterations, the version has stabilized, and the new users of 2.1 are now in the mainstream. Therefore, we plan to reduce the maintenance of the 2.0 version, focus our efforts on 2.1 and 2.2 development, and strive to make Cocos Creator a more focused, open and healthy open source platform.

Cocos Creator v2.1.3 optimizes the experience and fixes bugs. It is recommended for all v2.0 and v2.1 projects in development. to upgrade.

What’s New?

Support iOS 13

To support the upcoming iOS 13 operating system, we replaced the underlying VideoPlayerimplementation on iOS native with the MPMoviePlayerController for AVPlayerContoller [#1831], at the same time, the underlying WebView with UIWebView for WKWebView was replaced. [#1837].

Release Notes

Improvements

  • Add fault tolerance to the component’s onLoadstartupdatelateUpdate functions to better handle exceptions thrown by user scripts. [#4941]
  • When you preview particles in the editor, the particles in the child nodes under the current node will be played synchronously, which is convenient for art. (In the editor, the particles in the child nodes under the current node are played simultaneously for easy art viewing).
  • Improve the behavior of dragging resources into the scene for creation (Improve the behavior of dragging resources into the scene for creation)
  • Add the option Packable in the Property inspector to see if the image can be dynamically combined. It solves that custom shaders can’t get the original UV. For details, see Texture:packable.
  • Allow double-click on the json asset in Assets panel in the resource editor
  • Set the texture type to RAW by default when importing the plist atlas when importing plist atlas
  • Add Vec4 type support to Properties panel in the Property inspector.
  • Improvements creator.d.ts Type hints (Improve some creator.d.ts type hints)
  • Optimized Label’s SHRINK dynamic layout, while supporting CHAR mode (Optimize the SHRINK dynamic layout of Label and support CHAR mode)[#5223]
  • Avoid performance overhead when calling Texture2D.update multiple times [#5198]
  • Upgrade V8 to 7.5 on Android.
  • VideoPlayer is available to WeChat Mini Game.

Editor

  • Fixed an issue that rotation data in AnimationClip will be lost after upgrading from v2.0
  • Fixed an issue where the rotation of the scene and nodes in Prefab at a certain angle was lost after upgrading from v2.0
  • Fixed an issue where some items open on the machine and stopped at the Is importing resources, please wait interface
  • Fixed a problem that compressed texture may be missing after project build (thanks to xu.lidong)
  • Fixed a problem that when a compressed texture’s quality is 100, the builder cannot generate the image file correctly.
  • Fix an issue where script may be misreported after it is moved or renamed
  • Fix Animation editor issue where the timeline editor can’t set Node’s z value
  • Optimized Animation editor Optimized the error handling of the Timeline editor when the state of components, assets, etc. changes
  • Fix an issue where the gizmo is not located correctly in the scene editor
  • Fix the problem where the node rotation can not be undone.
  • Fixed attribute checker settings Camera’s Rect has no effect) [#5294]
  • Fixed an issue where a scene or prefab could not be opened normally after something went wrong with their data in some cases
  • Fixed an issue where RichText or Label components may generate a space at the beginning of a line when after the text that the RichText or Label component fills in the editor is automatically wrapped. The text filled in in the editor is wrapped.
  • Fixed an issue where content is not displayed when the NodeTree and Assets merge into the same panel when fixing the level manager and the resource manager merged into the same panel.

Engine

  • Fixed an issue where a scene async loading assets can cause the 3D model can not be displayed [#5071]
  • Fixed an incomplete rendering issue of 3D skeleton animation [#5349]
  • Fixed problems that requestAnimFrame related error may occur when the engine is initializing [#5248]
  • Fixed an issue where dynamic stitching would cause texture edge pixel anomalies in certain situations (thanks to unace)[#5242]
  • Fixed problems that Animation’s “stop” and “lastframe” don’t trigger under certain situations [#5246]
  • Fixed an issue loading a scene with WebView, then the first frame will flash on screen after The scene is switched [#5106]
  • Fixed the problem that the Label** text will still show after the text is empt [#5266] [#5284]
  • Fixed an issue when a Label used with a LabelOutlineLabel Overflow is set to SHRINK or CLAMP, and CacheMode is set to CHAR, the node is not sized correctly)[#5145]
  • Fixed an issue where RichText may lose spaces after wrapping [#5116]
  • Fixed an issue where the Sprite component does not support MESH mode [#5195]
  • Fixed an issue where ScrollViewPageView enables Elastic May not bounce back after sliding beyond the boundary [#4894]
  • Fixed an issue with ScrollView’s ScrollBar display unexpected [#5249]
  • Fixed an issue where Layout doesn’t work correctly when it’s scaling less than 1)[#5074]
  • Fixed an issue that the node where the PhysicsCollider is located may report error by modifying the node’s group property in runtime (thanks to HengHuH [#4949]
  • Fixed an issue where the engine’s built-in assets may have been mistakenly released by the user[#4915]
  • Fix an issue where memory leaks can occur when a large number of render nodes are added and deleted [#5025]
  • Fixed node’s targetOff method may not work [#5052]
  • Fixed an issue where an audio instance may have been destroyed by error after more than 32 audio instances are playing At the same time [#5097]
  • Fix the problem with particle coordinate errors in Free mode [#5320]

Native

  • Fixed Label memory leaks on native platforms [#1783] [#1786]
  • Fixed an issue where the EditBox font defaults to white on some Android models [#1778]
  • Fixed issues where EditBox characters is overlapping in input state on Mac and Windows [#146]
  • Fixed an issue where EditBox input emoji on iOS may crash [#1798]
  • Fixed the problem that the EditBox input box position is abnormal when the Canvas adapt mode is SHOW_ALL [ #162]
  • Fixed an audio bug on Android that audios are not paused when locking screen while Notification drawer is Showing [#1788]
  • Fixed an issue on Android with the program that audio still play in the background when the screen is on. [#1785]
  • Fixed an issue where the paused audio is automatically played when game switch from background to foreground [#145]
  • Fixed an issue when changing Spine/DragonBones material on native platforms, position go wrong [#148]
  • Fixed an issue on native platforms where opacity of Spine/DragonBones incorrect at first Frame. [#148]
  • Fixed an issue where VideoPlayer can’t return after fullscreen on iOS [#1800]
  • Fixed an issue where the lock screen will get stuck when VideoPlayer plays on Android when playing on Android [#1811]
  • Fixed an issue where cc.sys.languageCode can’t get full language area code on Android)[#1784]
  • Fixed a problem that failed to call cc.game.setFrameRate() on the Mac Platform when plugin scripts were initializing [#5261]

Web

  • Improve support for IE11. [#5033]
  • Fixed an issue where clicking the EditBox clear button which comes with Edge browser does not trigger the Input event. [#5088]
  • Fixed an issue where EditBox’s text size failed to scale with Node during the input process [#5088]
  • Fixed an issue where audio can’t play on Edge and Baidu browsers [#4910]
  • Fixed a problem where audio might not play on desktop Chrome and Safari [#4991]
  • Fixed an issue where desktop UC browser play WebAudio reports errors [#5048]
  • Fixed the error caused by audio call setTargetAtTime when game runs on Crosswalk [#5281]

DEPRECATIONS

  • Discard the convertToWorldSpace function on Node, please use convertToWorldSpaceARinstead.
  • Discard the convertToNodeSpace function on Node, please use convertToNodeSpaceAR instead.
  • Improve the camera’s coordinate conversion API
  • getCameraToWorldPoint is changed to getScreenToWorldPoint and supports 3D Camera
  • getWorldToCameraPoint is changed to getWorldToScreenPoint and supports 3D Camera
  • getCameraToWorldMatrix is changed to getScreenToWorldMatrix2D, only 2D Camera is supported.
  • getWorldToCameraMatrix is changed to getWorldToScreenMatrix2D, only 2D Camera is supported.
2019.07.17

V2.1.2

Publish Time: 2019.07.17

Six months has passed since the release of Cocos Creator v2.1.0, and the team has been hard at work creating the next releases. Cocos Creator v2.1.0 is our most popular release to date. The development teams effort will be spent on Cocos Creator v2.1.0 and therefore maintenance of v2.0.xwill be discontinued. v2.0.x users should consider upgrading to v2.1.1 when it makes sense to do so.

The v2.1.2 update includes not only general experience optimizations and bug fixes, but also the optimization of pure 2D projects, as well as a decrease in project size. At the same time, this version also incorporates all the changes in v2.0.10, supporting the two new platforms: Xiaomi Mini Gamesand Cocos Play.

What’s New

Optimizing 2D projects

Previously we had always positioned v2.1 as a 3D predecessor, so v2.1 was lagging behind for the care of pure 2D projects. However, v2.1.2 has been carefully optimized to work well with both 2D and 3Dprojects. Now we officially recommend that all v2.0 projects be upgraded to v2.1.2. Projects upgraded from v2.0 will default to 3D modules, ensuring that there is no impact on the package and performance of 2D projects. To add 3D support, manually check the 3D module in Menu → Project → Project Settings → Module Settings.

Supports Xiaomi Mini Games

Cocos Creator officially supports publishing to Xiaomi Mini Games. For detailed usage, please refer to Publish to Xiaomi Mini Game.

Supports Cocos Play

Cocos Creator officially supports publishing to Cocos Play. For detailed usage, please refer to Publish to Cocos Play.

Improvements

Improve the WeChat game resource loading process

  • Fixed a problem where the resource might not load successfully (thanks to snow_storm for feedback) [#97]
  • Optimize processing logic when caching fails [#98]
  • Fixed a problem with subsequent callbacks of remote images without multiple callbacks [#96]
  • Avoid crashes caused by oversized json file parsing (thanks to canghai7789 for feedback)[#101]
  • Adjust the cache interval to reduce the impact on the game frame rate [#97]

Editor improvements

  • Complete automatic atlas algorithm, now you can generate the smallest size atlas without manually adjusting max size
  • Improve Windows platform support for multiple monitors. Now the editor automatically detects window visibility when it starts, ensuring that the window displays properly
  • Increase warning information before project upgrade or downgrade to prevent users from misoperation
  • Added DragonBones and Spine’s dressup demo [#725] in the included sample project
  • Optimized editor compatibility with GPU devices and reduced false positives due to WebGL compatibility
  • Improved the Asset Watcher mechanism. If the type of an accessor(getset) of a component is defined as an array of resources, the setter will be triggered to reset the entire array when the corresponding resource changes

Engine improvements

  • Turn off preserveDrawingBuffer by default on WeChat game, which solves the problem that the game will be stuck for a few seconds from the background to the front desk [#4537]. (The WeChat game must be enabled with preserveDrawingBuffer when it is first released, otherwise the scene switch will be black)
  • Improved positioning accuracy of Label on native platform [#4765][#1764]
  • Optimized BMFont Memory usage during rendering [#4651]
  • Allow Label to be modified again after setting it to BITMAP mode (although it is still not recommended, resulting in additional memory and performance overhead)
  • Reduced the timeout for loading ttf fonts from Web platform from 60s to 3s [#4536]
  • Added url attribute to Asset to get the actual url of the current resource. Developers can directly call the platform’s native API to use these urls [#4536]

Bug Fixes

Editor fixes

  • Cannot convert undefined or null to object may be reported when fixing a build project
  • Fixed rendering problems caused by the offset of some Sprites when importing plist atlas
  • Fix gizmo related issues for circle collider
  • Fixed an issue where VideoPlayer and WebView were not displaying correctly in the editor
  • Fixed an issue where the render component could not save the custom material [#4390]
  • Fixed an error when compiling scripts using the command line
  • Fixed issue where the scene editor does not display the animation track in the animation editing mode
  • Fixed issue where the plugin’s own runtime-resource could not be displayed in the explorer after reloading the third-party plugin reload
  • Fixed a problem where the project might fail to build when the image suffix in the automatic collection is named uppercase PNG

Engine fixes

  • Fix Input events Respond to problems with hierarchical errors in individual cases [#4522]
  • Fixed an issue where the z setting of the 3D node is invalid [#4408]
  • Fixed 3D GPU bone count failed to determine correctly, causing problems that the model may not display in some cases [#4772]
  • Fixed an issue where releasing remote image release failed [#4536]
  • Fixed Spine and DragonBones rendering batch invalidation issues in v2.1.1 [#4645]
  • Fix Spine uses rendering problems after clipping [#4744]
  • Fix Label When using BITMAP mode, dynamic mapping does not work [#4393]
  • Fix Label When using CHAR mode, Label Outline will be cropped [#4550] [#4807] [#4809]
  • Fixed PageView Sliding position calculation error when dynamically adding page [#4556]
  • Fixed an issue where cc.tween has a value of 0. [#4790]
  • Fix the problem that the distance returned by the ray detection will be affected by the node scaling [#4562]
  • Fixed an issue where built-in resources would be emptied when restarting the game [#4509]
  • After the repair project is directly upgraded from version 2.0 or earlier, the Rotate related Action orientation will be wrong.
  • Fixed native platform Label rendering performance degradation problem [#1765] [#143]
  • Fix native platform, if you render the 3D model with less bones first and then render the model with more bones, the problem will be rendered incorrectly [#4473]
  • Fix native platform after executing cc.game.end() If there are still resources downloaded in the background, it will cause a crash [#1763]
  • Fixed Spine on the native platform. Frequent loading and unloading of the resource [#1758]
  • Fixed native platform sub-package scripts are not encrypted as jsc files
  • Fix Windows platform Label Inconsistent text size [#1766]
  • Fixed a problem with WebGL compatibility errors reported on some browsers after version 2.1 [#4394]
  • Fix Web platform EditBox occlusion of other UI control touch events (change default stayOnTop to unStayOnTop)[#4705]
  • Fix Web on the mobile sideEditBox When cloning the soft keyboard, the problem of adapting the Canvas size multiple times[#4705]
  • Fix Web platform EditBox Placeholder shows incorrect question when multi-line input [#4705]
  • Fix WebAudio setting the volume may not work immediately [#4767]
  • Fixed IE 11 compatibility issue[#4659] [#4701]
  • Fixed iOS on WeChat browser EditBox problem with misplaced touch area after soft keyboard [#4705]
  • Fixed a problem with the Facebook Live SDK logic exception
  • Fix WeChat mini game On iOS Audio may not be replayable [#102] [#107]
  • Fix WeChat mini game on background music can not stop the problem [#4793]
  • Fix WeChat mini game answer phone after Audio no longer resumes playing [#4757]
  • Fix WeChat mini game Open field does not support the error caused by Button Gray Effect [#4474]
  • Fix WeChat mini game Open domain does not support WebGL caused an error [#4748]
  • Fixed call to WeChat game in version 2.1.1 subContextView.update() Unable to update open domain map issue [#4721]

Since v2.0.0 has been rewritten from the bottom with a 3D renderer, Cocos Creator has evolved into a game engine that can be both lossless and purely 2D and 3DIn the future, Cocos Creator will continue to adhere to the 2D first concept, continue to improve 2D game development experience and basic performance, and gradually introduce 3D features suitable for 2D games.

We are proud of v2.1.2, and we wonder if you are proud too? Good quality is inseparable from careful polishing, and Cocos will continue to improve the quality of its products with a down-to-earth spirit. We welcome our community to continue to submit feedback to us through forums, GitHub, Cocos Enterprise Services and other channels!

2019.05.28

V2.0.10

Publish Time: 2019.05.28

Cocos Creator v2.0.10 focuses on improving the stability of the native platform, fixing issues related to SpineDragonBones, and Label. It is recommended that all v2.0 users upgrade. In addition, v2.0.10 also supports the release of two new platforms, Xiaomi Quick Game andInstant Play Games, which bring new opportunities for developers. Good quality is inseparable from careful polishing. Thank you for the feedback from developers in the community, GitHub, Cocos corporate services and other channels.

The following is a description of the changes in v2.0.10:

What's New

Support Xiaomi Quick Games

Cocos Creator officially supports the publishing to Xiaomi Quick Games. For detailed usage, please refer to Publish to Xiaomi Quick Games.

Support Instant Play Games

Cocos Creator officially supports publishing to Instant Play Games. For detailed usage, please refer to Publish to Instant Play Games.

Improvements

Editor

  • Optimize the build speed of very large projects
  • Improve error handling when resources uuid conflicts
  • When the build release is removed, the Auto Atlas is empty warning, allowing the auto atlas to be empty
  • Added package name options for iOS and Mac platforms in the build panel

Engine

  • Optimize the node's zIndex refresh performance #4060
  • Added global timeScale options for Spine and DragonBones, set via API sp.timeScale and dragonBones.timeScale
  • Optimized Spine and DragonBones initialization speed in acceleration mode
  • Added getArmatureKey method to DragonBones's ArmatureDisplay for indexing as a dressup #4100
  • Added BlendFactor support for MotionStreak
  • The cc.macro.CLEANUP_IMAGE_CACHE flag is enabled by default on the native platform to reduce texture memory usage
  • Optimized Native platform Spine memory footprint
  • Optimized instant game open domain performance
  • Added fps attribute to the instant game open domain component SubContextView to control the open domain refresh rate, default 60
  • Disable the main loop of the open domain by disable instant game open domain component SubContextView, reducing performance overhead, see WXSubContextView Tips
  • Upgrade WeChat game resource loading speed
  • Fixed an error in the engine when Rect width exceeds maximum margin was reported when importing a fully transparent image

Bug Fixes

Editor

  • Fixed an issue where the build of OPPO, vivo, and Huawei games might encrypt the script to JSC and cause the build to fail.
  • Fixed an issue where the Android Studio SDK path would report an error under Windows
  • Fixed an issue with compiling errors when using the link template when building a Mac platform
  • Fixed an issue where a very large project might be reported on the Windows platform (when the number of resources > 100,000)
  • Fixes Auto Atlas may export more unused SpriteFrame or SpriteAtlas resources when building
  • Fix Auto Atlas Warning message may be incorrect when building
  • Fixed an issue where the particle system could not be previewed in the editor after enabling Custom mode
  • Fixed an issue where if the font name had parentheses when importing BMFont
  • Fixed object already destroyed warning when it appears repeatedly in Prefab edit mode
  • Fixed an issue where returning to the scene when entering Prefab edit mode from a scene with DragonBones or Particle
  • Fixed removing the TiledLayer node, then Undo, will report the material is empty
  • Fixed a problem with data corruption when exporting multiple resources in batches
  • Fixed an issue where child nodes could still be selected in the scene after locking the parent node in the hierarchy manager
  • Fixed an issue where resources could not be dragged to the hierarchy manager when there were no nodes in the scene
  • Fixed an issue where renaming file operations in Resource Manager might not work
  • Fix the problem that after the animation editor finishes playing the animation, manually skipping one frame and then playing it will cause an error.
  • Fixed an issue where the project could not be opened when the configuration file was corrupted
  • Fixed an issue where a new project could not be created when the custom engine did not exist

Engine Repair List

  • Fixed DragonBones Parent bone transparency has no problem with sub-bones transparency #4068 #1704
  • Fix DragonBones The original animation monitor failed after the skinning operation
  • Fix Spine, DragonBones When pre-multiplication is enabled, modify the transparency of the node and the problem of exposure #4068#1704
  • Fixed an issue where manually created Assets would report an error when remotely loading DragonBones or Spine resources#4020#122
  • Fix SpineDragonBones Cache update issue in SHARED_CACHE mode #4457
  • Fix Spine In Cached mode, there is no default value for the delay parameter of addAnimation
  • Fix Spine In Cached mode, setting skeletonData will warn you
  • Fix Spine In Cached mode, the animation may be abnormal when changing. #4488
  • Fixed an issue where Spine's json file would report an error without a skeleton field #4029
  • Fix Spine Problems with multiple skins that are not displayed in speed mode #4091
  • Fixed AudioSource The problem of getting the state state error during the second play #3974
  • Fixed texture not dynamically set mipmap problem #4201
  • Fix Label Problem with text positioning may be garbled when CHAR mode is enabled #4007
  • Fix Label Problem with dynamic mapping does not work after BITMAP mode is enabled #4392
  • Fix Label When the text rendered too much is off the screen Canvas size may be too large #4047
  • Fixed an issue where the opacity setting of the node where the Label is located exceeds 255. #4161
  • Fix Label Problems with BMFont may not be rendered when using shrink mode #4099
  • Fix LabelOutline A memory leak may be caused when a component is destroyed #4220
  • Fixed LabelOutline Exceptional transparency when cascading components #4495
  • Fixed ScrollView or Mask where node Scale is 0, flat nodes may not be able to respond to clicks #4456
  • Fixed an issue where the scrolling position was incorrect when the page of PageView was dynamically updated #4050
  • Fixed a memory leak issue that could be caused by too many particles in the particle system #4256 #4262
  • Fix Particle System After playing, hide and display the problem of residual particles #4243
  • Fixed a problem where the Scale 0 node Instantiate three times in Prefab would cause the Scale value to become 1#4454
  • Fix native platform resources DownloadXMLHttpRequestWebSocketSocketIO Possible crash after request #1721 #1716
  • Fix native platform GC may cause crash problem #1744
  • Avoid native platform initialization process if evalString is called in native code to crash
  • Fix Native platform Label shows possible black border issues #130
  • Fix Native platform Spine A problem that can cause a crash when resource acquisition or parsing fails #1745
  • Fix Native platform Spine Destroy possible crashes when not fully loaded #1711
  • Fix Native platform DragonBones Set the displayIndex attribute of the slot to have no effect #4339
  • Fix iOS 12 Unable to load the correct ttf file issue #1700
  • Fix iOS Problems that may crash when AudioClip is released #1714
  • Fix Android The problem that the native platform can't load the sub-package correctly #1701
  • Fix Android EditBox The problem of inputting decimal points and other symbols is not supported under number inputType#1695
  • Fix Android Instant platform loading Spine Resource error reporting #3999
  • Fix Windows may report an error when switching between the front and back of the platform
  • Fix Web platform VideoPlayer Set currentTime invalid question #4049
  • Fix Web platform VideoPlayer Listening for problems with invalid ready-to-play events #4049
  • Fix WeChat mini game On Android platform Audio Unable to start over again when replaying #92
  • Fix Baidu game saveFile causes tempFilePath to expire #14
2019.04.30

V2.1.1

Publish Time: 2019.04.30

Since the release of Cocos Creator 2.1.0, we have received a lot of valuable suggestions from users. Based on previously announced plans, we will continue to speed up the iteration of the v2.1 series to implement user suggestions as quickly as possible. At the same time, in order to prevent these changes from affecting the stability of old projects, we only recommend upgrading projects with 3D requirements to v2.1. Other projects can continue to use v2.0, and wait until v2.2 is released before upgrading. This v2.1.1 upgrade mainly supports 3D scene editingcamera previewlighting system, and also incorporates the latest 2.0.x changes.

What’s New

Support 3D scene editing

The Scene Editor allows you to switch to 3D editing mode with one click, making it easy to edit 3D objects, cameras, and lights. See the 3D Scenes document 1 for details.

Add game preview panel

A separate preview panel has been added to visually preview the images seen by the camera during scene editing. Panel Open: Main Menu → Panel → Game Preview, the preview panel can be placed in a separate window or dragged into the main editor window.

s_4A04B2733C58C3785BF9DAB70F7114F68401A06E2E8478F24E9A8254F94C36DB_1553237527640_image

Add 3D lighting and shadows

Light component has been added to lay out lights in the scene, and a shadow effect can be set in conjunction with MeshRenderer. See the Light Source Component Reference documentation.

s_4A04B2733C58C3785BF9DAB70F7114F68401A06E2E8478F24E9A8254F94C36DB_1553235837568_image

Upgraded EditBox component

Now, developers can set the Text LabelPlaceholder Label and Background nodes separately, making them more flexible, simple, and more in line with the component development. See the EditBox Component Reference documentation.

Add text shadow rendering component

A new LabelShadow component has been added to add a shadow effect to the Label component, similar to the LabelOutline usage. See the Label Component Reference documentation.

Support for dynamically creating 3D Primitive models

Added cc.primitive module to dynamically create 3D models at runtime, including: box, cone, cylinder, plane, etc. See the Basic 3D Objects documentation.

Integrated Material System (Beta)

Added support for material systems, allowing users to create Material and Effect (Shader) resource types. It should be noted that the current material system is mainly provided to the internal use of the engine and is only for developer preview. We plan to upgrade the material system in v2.1.2, however it will not be back-ported to this version.

Improved features

Editor improvements

  • Added shortcut Ctrl/Cmd + Shift + F to align the currently selected node to the perspective of the scene editor.
  • When you click in the scene editor, you can hold down Ctrl/Cmd for multiple selections at the same time.
  • Improve fault tolerance processing for custom engines to avoid editor startup failure
  • Improve the search performance of the resource manager under very large projects
  • Add menu File -> Open project in new window to support simultaneous opening of multiple projects on Mac
  • Hide the component’s enabled checkbox when the component does not define the enabledassociated lifecycle function
  • Upgrade the TypeScript version to 3.3.3333

Engine improvements

  • Make cc.Vec3 compatible with related APIs of cc.Vec2
  • Improved Label positioning accuracy in the editor and on different browsers (thanks to “Dacheng Xiaopeng” for advice)
  • Optimization 3D skeletal animation performance and volume
  • The cc.macro.CLEANUP_IMAGE_CACHE flag is enabled by default on the native platform to reduce texture memory usage
  • Native platform automatically verifies the maximum supported texture size of the current device
  • Add WeChat Mini game XMLHttpRequest support for timeout event [#87]
  • Added cc.sys.HUAWEI_GAME enumeration to determine if it is currently Huawei’s fast game platform
  • Optimized Android 5 system’s WebView compatibility
  • Allow iOS browser to play automatically when VideoPlayer is muted

Bug Fixes

Editor Fix List

  • Fixed an issue where BuildResults.getNativeAssetPath might not get the texture path
  • Fixed removal animation editor error message caused by the animation frame being edited
  • Fixed an object already destroyed warning that appears when you repeatedly enter Prefab edit mode

Engine Repair List

  • Fixed an issue where enabledInHierarchy is always false when the component does not define onEnable
  • Fixed an issue where ToggleGroup is not fully disabled when the active node is false
  • Fix Label’s opacity is not working
  • Fix Slider’s anchor settings will affect clicks [#4163]
  • Fix Particle System after playing, hide the node and display the problem of residual particles [#4243]
  • Fixed a memory leak issue that could be caused by too many particles in the particle system[#4256]
  • Fix native platform resources DownloadXMLHttpRequestWebSocketSocketIO possible crash after request [#1721] [#1716]
  • Fix native platform XMLHttpRequest may crash due to timeout [#1724]
  • Fix native platform loading via IPV6 under the telecom network (WeChat avatar) file may fail [[#1713]] (https://github.com/cocos-creator/cocos2d-x-lite/pull/1715)
  • Fix native platform OpenGL draw error #4017
  • Fix native platform Label there may be black border issues when rendering system text [#130]
  • Fixed an issue where the audio file on the Android platform could not be loaded when it was not in OBB[#1611]
  • Fixed an issue where the Android platform received a touch event before the engine initialization was completed could cause a crash [#1715]
  • Fix Windows platform window may report an error when minimizing restore [#129]
  • Fixed Windows platform error when opening window [#1732]
  • Fixed an issue where the volume setting to 0 is invalid on Browser
  • Fix 3D Project incompatibleWeChat game Open Data Domain issue
  • Fix 3D model bone penetration problem [#4188]

Removed

  • Removed the creation entry for the CoffeeScript script. CoffeeScript scripts can still be created manually, and we plan to remove full support for CoffeeScript in v3.0.

Follow-up version plan

(The version plan is for reference only, the final version content and release order are subject to actual conditions)

  • 2.0.x
    • Continuously optimize performance and improve stability
    • Support for more small game platforms
  • 2.2.0
    • Optimized Auto Atlas
    • Enhanced compression texture support
    • Further optimize the platform compatibility of the EditBox
    • Support skeletal animation resource lazy loading
    • Optimize the small game platform build process
  • 2.3.0
    • Greatly optimize native platform base rendering performance
    • Greatly optimized TiledMap support
  • 2.3.x
    • Support for 3D physical systems and collision detection
    • Upgrade the material system added in 2.1.1 from the experimental version to the official version
2019.03.05

V2.0.9

Publish Time: 2019.03.05

Cocos Creator v2.0.9 support for greatly optimizes the performance of DragonBones/Spine on small games and web platforms. WeChat mini games also brings improved resource loading performance and dynamic text refresh efficiency. At the same time, we have further improved the compatibility and stability of the engine and editor, so that everyone can get a better development experience. Good quality is inseparable from careful polishing. Thanks to the feedback from developers on the community, GitHub, Cocos corporate services and other channels.

The following is a description of the changes relative to v2.0.9:

What's New

Improving the performance of DragonBones and Spine on non-native platforms

Cocos Creator v2.0.7 greatly optimized the performance of DragonBones and Spine on native platforms, with performance optimized to more than twice as fast as 1.9 and 1.10. This release, v2.0.9, for Web platforms and non-native platforms. SHARED_CACHE and PRIVATE_CACHE acceleration modes, have improved DragonBones performance by 15 times, and Spine’sperformance has improved by 3 - 6 times.

Performance test results after acceleration mode is enabled:

2019.02.10

V2.0.8

Publish Time: 2019.02.10
  • A reset method has been added to the cc.WXSubContextView component to allow the user to properly reset the view size by calling this API when switching between subdomain views. PR 
  • Fixed that on some Android WeChat 7.0.3 models, Retina will still be blurred.
  • Fixed frame rate instability caused by listening to Device Motion on Android WeChat 7.0.3
  • Fix the problem that the WeChat game sub-package will load when it does not contain any resources.
  • Fix an issue where BMFont is not available in WeChat open data domain
  • Fix RichText’s use of the font tag is invalid
  • Fix an issue where RichText can’t pass arguments when using the on tag
  • Fix the problem that the editor can’t build a project from the command line
  • Adapting scene scaling issues after downgrading from Creator 2.1 to 2.0
2019.01.07

V2.0.7

Publish Time: 2019.01.07

Description of changes in this version:

  • Improve the font loading method on the web platform and fix the problem that individual TTF fonts must be loaded for a long time #3708
  • Fixed an issue where audio might not play after multiple reloads #3702
  • Fixed an issue where calling cc.view.setFrameSize does not take effect on the web platform  

Also fixed the following new issues in 2.0.7:

  • Fix native platform WebView, VideoPlayer related issues
  • The rpk path of the debug platform window popped up after the Huawei small game platform clicks is inconsistent with the actual
  • If the fast game tool is not closed, the project will be opened after the project is switched.
  • Fixed an error caused by the failure of loading ttf in WeChat open data domain
  • Fixed a problem of not generating a web-mobile folder when building a web-mobile platform
  • Fix ios platform empty packet compilation error (ios)

Documentation

Cocos Creator 2.0.x Documentation 

2018.12.14

V2.0.6

Publish Time: 2018.12.14

Cocos Creator v2.0.6 is based on the v2.0.5 upgrade, providing fast access to Facebook Audience Network and Facebook Live Video on Android and iOS, while maintaining v2.0.5 stability. Facebook Audience Network is an advertising platform launched by Facebook that provides powerful advertising monetization capabilities. Facebook Live Video is an SDK from Facebook that allows players to play live games directly and share them on Facebook’s social network, effectively improving the game’s ability to spread. For specific access procedures for these two SDKs, please refer to the document Facebook Live and Advertising. In addition, this version also optimizes the build process of for Vivo and OPPO Mini Games. It is recommended to upgrade to this release if you are releasing Vivo and OPPO Mini Games.

Change List

  • Added Facebook Audience Network and Facebook Live Video integration options to the service panel
  • Fixed an issue that Facebook Instant Games could not upload
  • Fixed a problem with zip compression for zip packages from Facebook Instant Games
  • Optimized the build panel for the vivo game:
  • Removed npm path input box
  • The app icon is modified to any path, no longer limited to the path of the game project, and a button for selecting the image path function is added to the right of the app icon input box.
  • Removed the use of certificate.pem, private.pem certificates fixed in [game project]/build-templates/jsb-link, and modified them to choose their own path. At the same time, the certificate is added to the rightmost button of certificate.pem. (Note that using Windows systems requires installing the openssl software and configuring its environment variables beforehand)
  • Optimized OPPO mini-game build panel:
    • Removed the npm path input box and the quickgame input box, and Cocos Creator has a built-in quickgame.
    • The app icon is modified to any path, no longer limited to the path of the game project, and a button for selecting the image path function is added to the right of the app icon input box.
  • Removed the use of certificate.pem, private.pem certificates fixed in [game project]/build-templates/jsb-link, and modified them to choose their own path. At the same time, the certificate is added to the rightmost button of certificate.pem. (Note that using Windows systems requires installing the openssl software and configuring its environment variables beforehand)
  • The output path of the packaged rpk is adjusted to be the same as the path when the packet rpk is not set, in the [game project]/build/quickgame/build/ directory. And when you package the packet rpk, only one rpk file will be generated, and no other sub-package directories will be generated.
  • WeChat mini game is not enabled by default after ES6 to ES5
  • Limit the maximum number of concurrent downloads (cc.macro.DOWNLOAD_MAX_CONCURRENT) to less than 10 by default on WeChat games.
  • Fixed an error when WeChat game called cc.game.end( )
  • QQ light game build allows direct packaging of zip files for easy uploading of the server
  • Fixed a problem with Mask rendering on QQ Light Games
  • Fixed an issue where Android Instant platform crashed after compiling Android + AnySDK

Follow-up version notice

v2.0.7 will be released soon, focusing on optimizing native platform performance

We will soon be beta testing v2.0.7. In this version we optimized the rendering performance of the engine, especially the Spine and DragonBones of the native platform, and the performance has been greatly improved.

v2.1 iterations will be more aggressive

Compared with v2.0, the upgrade of v2.1 will mainly focus on the 3D field. We recommend upgrading new projects with 3D requirements to this version, and establishing contact with us in forums and other channels. Our responsible 3D partners will provide relevant support. . Since v2.1 is a very new version, we will speed up the iteration and try to meet the needs of developers. We will be releasing v2.1.1 in the near future to support 3D scene editing, camera preview and material systems, and to optimize the 3D development process.

2018.11.05

V2.1.0

Publish Time: 2018.11.05

Cocos Creator v2.1, adds support for 3D features such as: 3D model rendering3D Camera3D skeletal animation, and 3D point selection. The Cocos Creator editor now natively supports parsing 3D model files in FBX format. It’s that simple, no additional workflow is required!

In the previous version, v2.0, Cocos Creator had used a Cocos3D based 3D renderer to officially introduce 3D support. The addition of 3D features can greatly enrich the expressiveness of 2D games, reduce the resource overhead of 2D games, and bring more imagination and ideas to expand games.

However, it should be emphasized that the target users of Cocos Creator is still 2D game development, and the 2D game is still the core service of Cocos Creator 2.x. We will continue to optimize the development experience and basic performance of 2D games, and gradually increase the 3D functions suitable for integration into 2D games. Therefore, Cocos Creator does not allow a pure 3D game, which is the goal of Cocos3DCocos Creator’s development path is closer to 2.5D.

This is not the first time Cocos has upgraded the engine from 2D to 3D. A few years ago, Cocos2d-xexpanded to the 3D space and accumulated a lot of experience. It also produced a very good game concept like Sword and Home. However, at that time, 3D functions were piled up on a very heavy 2D renderer, and there was no editor support. It was not widely recognized by the market. This time, Cocos Creator is based on Cocos3D’s 3D renderer, which has a lot of 3D stability and guarantees a seamless editor experience.

Follow-up Version Notice

v2.0 will continue to be maintained, native platform performance will be optimized as soon as possible

v2.0 and v2.1 will grow together over a period of time.v2.0 will continue to be maintained, adding more performance optimizations and bug fixes. We will soon be beta testing v2.0.7. In v2.0.7 the rendering performance of the engine has been optimized, especially Spine and DragonBones. Also, the performance has been greatly improved.

v2.1 iterations will be more aggressive

Compared with v2.0, the upgrade cycle of v2.1 will mainly focus on 3D features. We recommend upgrading new projects with 3D requirements to this version, and establishing contact with us on our forums. This allows us and our 3D partners to provide support.Since v2.1 is a very new version, we will speed up the iteration and try to meet the needs of developers. In particular, currently v2.1.0 version still does not support 3D scene editing, only the 3D parameters can be set in the property inspector. We will be releasing v2.1.1 in the near future to support 3D scene editing, material systems and optimizing the 3D development process.

Complete list of changes (compared to v2.0.5)

What’s New

3D Node

In v2.1, newly created Node objects are still 2D by default. When needed, you only need to click the 2.5D button at the top right of the Node to switch to 3D mode. After switching, you can edit the z axis. See 3D Node .

3D Camera

Like Node, Camera is also divided into two modes. When you add a Camera component to a normal 2D node, it becomes a 2D Camera. When you switch Node to 3D mode, Camera will also enter 3D mode, and then you can edit Camera's FOV and other parameters in 3D mode.

3D model import

Currently, Cocos Creator supports importing 3D model formats for a very wide range of .fbx files. .fbxis the de-facto standard in 3D modeling software. The process of importing is very simple, just drag the .fbx model into the Explorer and wait a few moments for the import to complete. After the import is completed, you can see that the imported model is a folder that can be expanded in Explorer. When importing the model, the editor will automatically parse the content of the model and generate a Prefab, a Grid, a Bone Animation and other resources. See Import Models

s_D5EB83DE4EB14ED7F4E0412694594BEA563C6F613AB6CAC04191666891BDD83C_1543326015234_image

Mesh Renderer Component

Mesh Renderer is used to draw grid resources. See Mesh Renderer .

mesh_renderer

Bone Animation Component

The Skeletal Animation component inherits from the Animation component. The Skeletal Animationcomponent is not much different from the Animation component. The exception is the Skeletal Animation component uses a clip that can only be a Skeletal Animation clip. The Skeletal Animationcomponent is automatically added to the model’s Prefab when it is imported. See Bone Animation Component  for details.

search-skeleton-animation

For more 3D instructions, please consult the documentation 3D System .

Optimize automatic gallery build speed

v2.1 greatly optimizes the speed of auto-atlas construction. If the atlas has not changed, the results of the last build are used.

Further improve rendering performance

Between v2.0 compared to v1.x, there are some cases where the engine does not render batches, resulting in an increase in draw calls. v2.1 re-optimized these conditions. If the previous color or opacity cannot be batch processed, sliced and non-sliced share the same texture and cannot be batched. The problem that the opacity 0 node still occupies the draw call is solved.

Add simulator debugging function

In the Project Settings -> Preview Run Panel, the Open simulator debugger panel option and the Wait for debugger connect option have been added. The purpose of the Open simulator debugger panel option is to automatically open the debug window when the simulator previews the project. The Wait for debugger connect option is used to suspend the boot process until the debugger connection is complete for debugging the load process.

s_D5EB83DE4EB14ED7F4E0412694594BEA563C6F613AB6CAC04191666891BDD83C_1543327279764_image

Texture Auto Compression

The compression required by the texture can be set directly in the editor, and Cocos Creator will automatically compress the texture when the project is published. Exporting multiple image formats simultaneously on the web is supported. The engine will automatically download the appropriate format according to the different browsers. See Compressed Textures  for details.

Enhancements

Editor

  • Dashboard is closed when the project is opened, and automatically opened when the project is closed.
  • Dashboard will automatically record the last created project path.
  • Optimize the preview of the Button under the editor.
  • Optimize the way Button Click Event indexes components, avoiding the loss of indexes after scripts are renamed.
  • QQ light game construction allows direct packaging of zip files for uploading servers.
  • The new plug-in mall automatically prompts the user to install after the plug-in download is completed.
  • When building a WeChat mini-game main domain project, the subdomain will not be emptied again.
  • Modify the API Level selected by default when building the Android platform to the current highest level (Target API Level).
  • The node path bar in the scene editor is removed, and the node path can be obtained through the node right-click menu of the hierarchy manager.
  • The animation editor defaults to Constant curves for values ​​of type cc.Enum and cc.Integer, without interpolation.
  • Animation editor key frame addition and deletion experience optimization.
  • The optimization engine automatically compiles the experience.
  • Added a series of other experience optimizations.

Engine

  • [UI] Added the affectedByScale property to the Layout component. If the developer wants the scaling of the Layout subnode to affect the layout, you can turn it on manually.
  • [UI] supports fnt files in XML format.
  • [UI] The Content Size of the node will be refreshed immediately when the Label node is onEnable.
  • [UI] When the target of Button is not defined, the current node will be used by default.
  • [UI] ToggleContainer adds a checkEvents event property similar to Toggle, which fires only when Toggle’s isChecked state becomes true.
  • [Action] Added support for four actions of cc.Rotate3DTo, cc.rotate3DTo, cc.Rotate3DBy, cc.rotate3DBy.
  • [Native] Rejoined WebView and VideoPlayer support removed in v2.0.0 on iOS and Android platforms.
  • [Native] The Mac native platform switches to the V8 engine. If you need to use JSC, you need to manually modify the macro. For details, see #1515 .
  • [Native] Add the missing key and length properties of the native platform LocalStorage, see #1371.
  • [Native] Adopts Pinyin input behavior unified with Android on iOS native platform, does not retain input of unfinished pinyin.
  • [Android] Upgrade Android compilation to NDK r16+ Clang, and compile Android pre-compiled library with Clang.
  • [Android] Upgrade the Android build tool to configure Gradle to 4.4, plugin to 3.1.4. (Gradle 4.6 has a known issue that will cause resource packaging to fail).
  • [Android] Optimize Android input box experience.
  • [Android] Squeeze Android empty package body, the minimum package body is reduced from 7.0MB to 6.3MB.
  • [Web] Increase transparency support for WebView on the web platform.
  • [Web] Optimized display position of WebView components.
  • [Web] Optimizing the performance of VideoPlayer on the X5 browser.
  • [Wechat] Supports getting the res and referrerInfo parameters passed to the platform when responding to the cc.game.EVENT_SHOW event on WeChat games.
  • [VideoPlayer] Optimized the performance of VideoPlayer full-screen playback.

Bug Fixes

Editor

  • Fix an issue where the animation editor node list may not be updated.
  • Fix the problem of selecting the RichText subnode in the scene editor.
  • Fixed an issue where the error code always returned 0 when building a project using the command line, whether or not an error occurred.
  • Fixing the background of the mesh in the scene editor will penetrate above some translucent images, causing some differences in color and runtime.
  • The editor will report an error when repairing an external drag resource to an invalid location in the resource manager.
  • Fixed remote server ip getting error when publishing Android Instant platform.

Engine

  • [Core] Problem with activeInHierarchy being true after fixing node destroy.
  • [Core] Fix filter in RenderTexture, premultiply alpha setting is invalid.
  • [Core] Fixed an issue where the scene introduced by the plugin could not be loaded.
  • [Web] Fixed a problem with white afterimages on Chrome 69, 70. (Since 2.0)#3357.
  • [UI] Fix Button may have some state invalidation when multiple states are superimposed on each other.
  • [UI] Fix LabelOutline setting invalid color problem.
  • [UI] Fixed an issue where setting Toggle.isChecked to be invalid in the start method.
  • [UI] Fix the problem that the LabelOutline component is not synchronized when the state is modified.
  • [Animation] Fixed an issue where the parameters of AnimationState might be parsed as a string type.
  • [QQPlay] Fix the problem that QQ light game does not respond to the background background switching event.
  • [QQPlay] Fix the problem that the font will become very small if you use italics on QQ light games.
  • [QQPlay] Fix the problem that the QQ light game can’t replay when the lock screen re-enters or the front and back switches.
  • [QQPlay] Fixes the problem of the ended event after the audio setCurrentTime is fixed #3373.
  • [Native] Fix native platform connection socket.io  server may report Bad Request error.
  • [Native] Fix iOS and Android can’t detect gravity sensor.
  • [Native] Fix iOS call cc.game.restart Restart the game and then enter text will crash.
  • [Native] Fixing the problem that the opacity attribute of Label on Windows native platform does not work.
  • [Native] Fixed an issue where Android could not listen to onKeyUp.
  • [Native] Fix the problem that the Android phone will fail to load if the built-in SSL certificate expires.
  • [Native] Fixed an issue where server redirection was not supported when downloading images from Android native platform #PR.
  • [Physics] Fixed an issue where MouseJoint failed to respond to touch cancel.
  • [Spine] Fixes the problem that textures may be lost when Spine is reloaded under Mask.

MIGRATION GUIDE

v2.1 upgrade considerations

  • Node’s rotation related API has been marked as deprecated, and the runtime will prompt to upgrade to angle. See 3D Node - Node API Upgrade .
  • The NDK version of Android needs to be upgraded to r16 or the compilation will fail.

WeChat game open data domain

Starting with v2.0.1Cocos Creator upgraded the open data domain solution, see Access Game Open Data Domain .

v2.0 Upgrade Guide

See the v2.0 Upgrade Guide .

Resource upgrade


Since v1.10Cocos Creator has refactored the underlying resource types. Most projects are not affected, but some projects may receive some warnings. For details, please refer to v1.10 Resource Upgrade Guide .

3D Example

After downloading v2.10, create a new example project and open the case under assets/cases/3d to experience the 3D features.

2018.11.06

V2.0.5

Publish Time: 2018.11.06

Compared with v2.0.2 released recently, v2.0.5 provides support for publishing to OPPO Mini Gameand Vivo Mini Game platforms, as well as a bug fix release. It is strongly recommended that all 2.0 users updateto v2.0.5. Good quality is inseparable from careful polishing. Thank you for the feedback from developers through the community, GitHub, Cocos technical services and other channels.

RELEASE NOTES

Detailed fixes

Editor

  • [Auto Atlas] Fix Auto Atlas default BestAreaFit algorithm can’t calculate correct atlas size problem
  • [Auto Atlas] Fixing the auto-atlas catalogue when nesting, the album in the parent directory will repeatedly pack the images in the sub-directory into the problem
  • [Auto Atlas] fixes black border problems after auto-satellite packaging (old auto-atlas needs to be deleted and re-created to take effect)
  • [Auto Atlas] Fixes the problem that the Auto Atlas Force Squared option does not work
  • [Wechat] Fixed an issue where subdomain directory names could not be modified when building WeChat games
  • [QQPlay] Fix v2.0.2 Unable to export plugin script on QQ light game
  • [Google Play Instant] Allows Default URL to be empty when building Android Instant

Engine

  • [Core] The second argument to cc.loader.loadResArray supports passing in a type array (thanks @caochao) #3312
  • [Native] Add cc.sys.getSafeAreaRect( ) API to get the screen security area of ​​the phone (in design resolution)
  • [Core] Fix v2.0 screen rendering effect is slightly blurred
  • [Core] Fixed an issue where the component might still be activated if the node was not added to the scene when it was destroy( )
  • [Core] Fixed an issue where SpriteFrame didn’t work correctly after calling setRect( )
  • [Core] Fix an error when calling cc.Texture2D initWithData() in v2.0
  • [Core] Fix issues that render components in v2.0 may still render when the node is not activated
  • [UI] Fixed an issue where the state was not updated when the Toggle component set the isChecked property
  • [UI] Fix an error when the ScrollView.content object is modified
  • [UI] Fix some problems in RichText in v2.0 may not be displayed
  • [UI] Fixed issue where the start event of PageView did not fire
  • [UI] Fixing invalid segments in Mask
  • [UI] Fixed an issue where the Stencil state was incorrect when Mask was nested
  • [UI] Fixed an issue where WebView did not trigger the load event when reading the default page
  • [UI] Fixed an issue where EditBox may report an error when switching between horizontal and vertical screens frequently
  • [UI] Fix the problem that the click event registered by once will still penetrate to other nodes in the level after the response
  • [Audio] Fix Audio’s operation on effect may affect music issues
  • [Spine] Fix Spine transparency and pre-multiplication in ScrollView in v2.0
  • [Animation] Fix an issue with animation quickFindIndex
  • [Animation] Fixes invalid issue with animation registration lastframe event
  • [Particle] fixes particle system call resetSystem( ) will fail
  • [Wechat] Fixed an issue where resources could not be loaded when the WeChat game cache was full.
  • [Wechat] Fix WeChat game to switch the foreground from the background, it will play the problem of unreleased audio
  • [Facebook Instant Games] Fix an issue where Retina is not enabled on Facebook Instant Games
  • [iOS] Fix v2.0 error on iOS 9 due to lack of support for ES6
  • [QQPlay] Fix the problem that the font display is too small when the font size is float type on QQ light game
  • [Google Play Instant] fixes a black screen issue caused by probabilistic jsb-adapter reloading when editing the split first package interface

Resources

2018.10.18

V2.0.4

Publish Time: 2018.10.18

The Playtime Conference hosted by Google Play was held in Germany on October 18th, 2018. The BIG NEWS: In partnership with GoogleCocos Creator v2.0.4 was released, supporting Google Play Instant games.

Google Play Instant and Cocos

In March of this year, Google showed Google Play Instant, a game store-based distribution solution called Search Instant. For the player, they are allowed to try the game before deciding to download the full version of the game, which greatly saves their device storage space. For developers, it means they can offer a demo experience to players who wouldn’t have installed these games, which in turn will increase the game download conversion rate.

Google Play Instant offers a higher APK size limit (10MB), support for progressive downloads for both executable code and game assets, allowing developers to use the NDK and game engine with existing toolchains. In order to make instant apps and games easier to build, as a Google Play Instanttechnology access partner, in May of this year, the Cocos engine began to do integration testing with Google and beta users of the Cocos community.

Developers only need to select Google Play Instant as the publishing platform to automate all technical docking of the Google Play Instant platform. The output is compatible with Google Play Instant. Technically-standard games, quickly launched on Google Play Instant for testing, greatly reducing development costs.

Release Notes

v2.0.4 only adds Google Play Instant Support, no other changes from v2.0.2.

Documentation is here.

2018.09.30

V1.10.2

Publish Time: 2018.09.30

The complete list of changes is as follows:

Compared to v1.9, the v1.10 version adds a lot of features, refactoring the resources of the engine, and greatly optimizing the size of the settings.js file. In addition, v1.10 also supports game code subcontracting on WeChat games, web and native platforms. This will break through the 4MB limit of WeChat’s first package and increase the game loading speed. See Code Subcontract Loading . At the same time, v1.10 has rewritten a lot of editor code, improving the editor’s experience and performance. If your project is planned to be upgraded to v2.0 later, please upgrade to v1.10 in advance to ensure that the entire upgrade process is as smooth as possible.

RELEASE NOTES

Resource upgrade

Since v1.10, Cocos Creator has refactored the underlying resource types. Most projects are not affected, but some projects may receive some warnings. For details, please refer to v1.10 Resource Upgrade Guide.

What’s New

Editor

  • Greatly optimize the size of the settings.js file after the release
  • Added script subcontracting settings in the property inspector for the folder
  • Allow each project to set a custom engine separately
  • Add a node lock function in the hierarchy manager. When the mouse is moved to the node, there will be a lock button on the left side. After the node is locked, the node cannot be selected in the scene editor.
  • Added an “Optimization Policy” option in the Property inspector of the Prefab resource file to optimize Prefab creation time. See Prefabricated Resources: Setting Optimization Strategies
  • Optimize the main menu under Windows
  • Add auto-refresh to the list of scenes in the build panel
  • When publishing to the native platform, it also supports adding MD5 to file naming for hot update
  • Script compilation will automatically skip all .d.ts files to avoid TypeScript error reporting
  • The Console panel adds a Clear on Play option to automatically clear the log before the game previews
  • Adjust the text font and color of the Console panel
  • Added search option button in the search bar of the hierarchy manager and explorer
  • Added plugin management feature in the plugin store
  • Allow changes to custom control icons in the control library
  • Resource Manager adds recognition of aac and pcm extension audio files
  • Supports direct search of compressed uuid format when Explorer searches for uuid
  • Allow the right mouse button to drag and drop the timeline of the Timeline editor
  • Added exit menu on Dashboard’s system tray icon

Engine

  • Support game script subcontract loading, see Code Subcontract Loading
  • The align mode attribute is added to the Widget component. When set to ON_WINDOWS_RESIZE, it will be automatically refreshed when the window size changes.
  • Official support for text and JSONLoading of resource types
  • The native platform adds cc.sys.getBatteryLevel interface for getting device power and network status
  • When the native platform is hot updated, it will actively delete the old version of the resource file.
  • VideoPlayer adds volume adjustment and mute function
  • Added DragonBones native platform binding interface getSlotsreplaceSlotDisplay and Slot.name (thanks @feijing566)
  • TiledMap supports rendering and cropping of ortho maps in any direction on the web platform
  • Layout component will only typeset active nodes
  • Retina rendering enabled by default on Android UC browser
  • Enable Webgl on UC browser version 11 or higher
  • Increased recognition of UCBS browsers
  • Gravity sensing is adjusted to only get when the developer has a registration event

Bug Fixes

  • [Editor] Fixes the settings when setting SpriteFrame in the collection
  • [Editor] Fix simulator configuration save related issues
  • [Editor] Fixed an issue where the error message output from the emulator to the console was displayed in white.
  • [Editor] Fix the error when the resource export tool encountered the same parent folder name
  • [Editor] Fixed an issue where copying the automatically synchronized Prefab subnode under the editor may be wrong
  • [Editor] fixes the problem that the fragment texture in the automatic map set will be reported incorrectly if it is directly referenced by other resources.
  • [Editor] Fixed plugin script not correctly parsing CC_WECHATGAME and CC_QQPLAY keywords
  • [Engine] Fixed an issue where the animation may not stop playing when the scene is switched or the node is destroyed.
  • [Engine] [Wechat] Fix some versions of WeChat games to get the problem of each frame interval
  • [Engine] [Wechat] Fix RenderTexture related issues on Android WeChat games
  • [Engine] [QQPlay] Fix QQ Play and play resources will be downloaded repeatedly
  • [Engine] Fixed an issue where the slider of the Slider component might not be right when dragged
  • [Engine] Fixed an issue where the audio load event could be triggered repeatedly
  • [Engine] Fixed a problem where the user changed the level while dectivating the node without any error.
  • [Engine] Fix issues that WebView can’t hide in Safari browser on some platforms (iOS 9/10 or Mac)
  • [Engine] Fixed native platform BMFont rendering pitch problem
  • [Engine] Fixed an issue where the button’s touch area would be offset when Canvas was unchecked Fit Width and Fit Height

Upgrade Android SDK

Starting with v1.10, the API Level in the Android build panel specifies the minimum Android version supported by the compiled apk. targetSdkVersioncompileSdkVersionbuildToolsVersion have all been upgraded to 26. If the developer has other needs, you can manually modify proj.android-studio/app/build.grade and proj.android-studio/gradle.properties.

REMOVED

  • Removed support for Eclipse and Ant build Android platform
  • Removed support from Chipmunk
  • Removed cc.loader.loadRes to directly load the support of the child SpriteFrame in the collection. Please load the atlas first and then call atlas.getSpriteFrame(name)

DEPRECATION

  • Since v1.10.0, Texture2D.releaseTexture is no longer recommended, please use Texture2D.destroy instead.
  • As of v1.8.2, cc.eventManager is no longer recommended. Use cc.EventTarget or cc.systemEvent instead. The original API will be removed in 2.0.
  • As of v1.8.2, cc.inputManager is no longer recommended. Replace it with the same interface of cc.systemEvent. The original API will be removed in 2.0.
  • Since v1.8.2, dragonBones.CCFactory.getFactory is no longer recommended. Use dragonBones.CCFactory.getInstance instead. The original API will be removed in 2.0.

KNOWN ISSUES

  • When copying and pasting a resource in Explorer, the resource property will not be copied. (Since 1.9.0)
  • Android native platform does not support playing remote video.
2018.09.22

V2.0.2

Publish Time: 2018.09.22

Cocos Creator v2.0.0 is a brand new version that has undergone a lot of low-level refactoring. Some developers have encountered some annoying problems in the process of upgrading the project. We collect and do our best to solve these problems in v2.0.1. In addition to greatly improving the stability and the friendliness of project upgrades, this version also brings new open data domain solutions for WeChat games to developers, greatly improving the performance and flexibility of open data domains.

Detailed changes

Main Features

  • Update the best use of open data domain solutions in history
  • Provides WeChat platform cleanup cache API
  • Support WeChat games and play a platform to set the frame rate via cc.game.setFrameRate
  • Add a View menu for the simulator to set the resolution
  • Modular RenderTexture and DynamicAtlas

Editor Fixes

  • Fixed issue with particle resource import in editor
  • Fixed an issue where Label was not affected by node anchor changes in the editor
  • Fix BMFont font error in the editor editor
  • Fixed an issue where the color of some Particles could not be displayed and set in the inspector
  • Fixed an issue where the simulator resizing interface would not fit
  • Fixed curve editor state residual problem in animation editor
  • Fixed an issue where the particle system’s svg flag was missing in the editor
  • Fixed Editbox editing fontColor does not work
  • Fixed an issue where the animation editor switched WrapMode while playing the animation, causing the node in the scene editor to not be dragged
  • Fix the problem that the node _localZOrder keeps changing when the data is saved
  • Fixed an issue where the keyboard direction key could not be fine-tuned after the editor selected the node
  • Fixed an issue where the scene editor would not automatically locate in the hierarchy manager after selecting a node
  • Fixed an issue where the node tree was automatically expanded after the node was deleted
  • Fixed an issue where clicking the node level manager in the inspector panel does not automatically locate
  • Optimize the Console automatic scrolling experience
  • Fixed an issue where all child nodes were expanded when the parent node active state was switched
  • Fixed flashing issues when clicking on Hierarchy nodes
  • Fix Auto Atlas preview invalidation issue

Engine Repair

  • Fix rendering issues with Spine animations
  • Fixed animation jitter caused by shader precision
  • Fixed an issue where setting the property in the inactive state does not take effect on the Sprite
  • Fixed rendering of Tiled type Sprite in the case of texture rotation
  • Fixed an issue where the background in the open data domain could not be transparent
  • Fixed rendering errors when Graphics has too many vertices
  • Fixed an issue where Camera does not respond to events after zooming
  • Fixed clipping of Tilemap after Camera zooming
  • Fixed a status error caused by multiplexing of RichText child nodes
  • Fix IE11 support
  • Fixed qqplay does not support Particlemap issue in base64 format
  • Fixed an issue where the Spine debug slot is not available in the Release version
  • Fixed issues with background switching events in front of each platform
  • Fixed rendering error caused by blend function when Label was switched to BMFont type
  • Fixed a black screen on the qqplay platform under Android P
  • Fixed an issue with the Windows platform XMLHttpRequest GET result of timeout
  • Fixed an issue where AudioClip does not support lazy loading
  • Supplement the missing deprecation API to fix missing API documentation issues
  • Fixed an issue where Stencil would be overwritten by the last Mask when multiple Masks coexist
  • Fixed black border issue with Mask component in open data domain
  • Fixed Mask does not support lazy loading when using image stencil
  • Fixed an issue where Spine could not display debug slots in non-debug mode
  • Fixed an issue where the audio could not be played when the Native platform checked MD5
  • Enhance fault tolerance of Particle resources and support resource formats exported by effecthub
  • Fix resume can directly play unplayed audio
  • Fixed a missing GUI issue caused by including the Mask module and culling the Graphics module
  • Fixed Native platform button can still receive touch events when active is false
  • Fixed web platform VideoPlayer has no hidden issues when switching visibility
  • Fixed an issue where windows & mac emulator window size does not automatically adapt when changing
  • Fixed parsing problem with Tilemap parser
  • Fix Camera does not support mask when using RenderTexture screenshots
  • Fixed an error caused by multiple Graphics switching between each other
  • Fixed an issue where the final alpha was invalid when the particles in the particle system finally disappeared (opaque)
  • Optimize the performance of small text rendering on the Native platform
  • Fixed Android platform return key listener failure
  • Fixed an issue where clicking the input box will disappear after the iOS platform pops up the input box
  • Fixed garbled problem when inputting Chinese characters on iOS platform
  • Optimized input box completion button design
  • Fixed an issue where the input emoticon was abnormal in WeChat game
  • Optimize the API design of TiledTile (do not allow layer to be set, get it automatically)
  • Fixed hexagonal tileMap offset problem when using TiledTile
  • Fixed a crash on the native platform FileUtils writeStringToFile call

Deprecation and Removals

  • A large number of private and non-core APIs of v1.x have been removed or discarded. For details, please refer to the upgrade guide .

Related Resources

2018.08.23

V2.0.1

Publish Time: 2018.08.23

2.0.0 is a brand new version that has undergone a lot of low-level refactoring. Some developers have encountered some annoying problems in the process of upgrading the project. We collect and do our best to solve these problems. Now we will bring you the 2.0.1 version. . In addition to greatly improving the stability and the friendliness of project upgrades, this version also brings developers a new Open Data Domain solution for WeChat games, which greatly improves the performance and flexibility of open data domains.

Detailed updates

FEATURES

  • Update open data domain solution
  • Provide WeChat platform to clean up the cache API
  • Support WeChat games and play a platform to set the frame rate through cc.game.setFrameRate
  • Add a View menu for the simulator to set the resolution
  • Modular RenderTexture and DynamicAtlas

Editor Fixes

  • Fix problem with particle resource import in editor
  • Fix the problem that Label is not affected by node anchor changes in the editor
  • Fix BMFont font error in the editor editor
  • Fixed an issue where the color of some Particles could not be displayed and set in the inspector
  • Fix the problem that the simulator change size interface will not be adapted
  • Fix the curve editor state residual problem of the animation editor
  • Fix the problem that the particle system's svg flag is missing in the editor
  • Fix Editbox Edit fontColor does not work
  • Fixed an issue where the animation editor switched WrapMode while playing an animation, causing the node in the scene editor to be unable to drag
  • Fix the problem that the node _localZOrder keeps changing when the data is saved
  • Fix the problem that the keyboard direction key cannot be fine-tuned after the editor selects the node
  • Fix the problem that the scene editor will not automatically locate in the hierarchy manager after selecting the node
  • Fix the problem that the node tree is automatically expanded after the node is deleted
  • Fix an issue where clicking the node level manager in the inspector panel does not automatically locate
  • Optimize the Console automatic scrolling experience
  • Fixed an issue where all child nodes were expanded when the parent node active state was switched
  • Fix flashing issues when clicking on Hierarchy nodes
  • Fix Auto Atlas preview invalidation issue

Engine Fixes

  • Fix rendering issues with Spine animations
  • Fix animation jitter caused by shader precision
  • Fix the problem that setting the property in the inactive state does not take effect on the Sprite
  • Fix Tiled type Sprite rendering error in texture rotation
  • Fix the problem that the background in the open data domain cannot be transparent
  • Fix rendering errors when Graphics has too many vertices
  • Fix an issue where the camera does not respond to events after zooming
  • Fix clipping of Tilemap after Camera scaling
  • Fixed a state error caused by multiplexing of RichText subnodes
  • Fix IE11 support
  • Fix qqplay does not support particle map problem in base64 format
  • Fix an issue where the Spine debug slot is not available in the Release version
  • Fix problems with background switching events in front of each platform
  • Fix rendering error caused by blend function when Label is switched to BMFont type
  • Fix black screen of qqplay platform under Android P system
  • Fix the problem with the Windows platform XMLHttpRequest GET result of timeout
  • Fix AudioClip does not support lazy loading issues
  • Add missing deprecation API to fix discovered API documentation issues
  • Fixed an issue where Stencil would be overwritten by the last Mask when multiple Masks coexist
  • Fix black border problem with Mask component in open data domain
  • Fix Mask does not support lazy loading when using image stencil
  • Fix Spine can't display debug slot in non-debug mode
  • Fix the problem that the audio cannot be played when the Native platform is checked MD5
  • Enhance fault tolerance of Particle resources and support resource formats exported by effecthub
  • Fix resume can directly play unplayed audio
  • Fix missing graphics caused by including Mask module and culling Graphics module
  • Fix Native platform button can still receive touch events when active is false
  • Fix the problem when the video platform VideoPlayer switches visibility without hidden video
  • Fix an issue where the windows & mac emulator window size does not automatically adapt when it is changed
  • Fix parsing problem with Tilemap parser
  • Fix Camera does not support mask when using RenderTexture screenshots
  • Fix an error caused by multiple Graphics switching between each other
  • Fixed an issue where the final alpha was invalid when the particles in the particle system finally disappeared (opaque)
  • Optimize the performance of small text rendering on the Native platform
  • Fix Android platform return key monitoring failure
  • Fix the problem that clicking the input box will disappear after the iOS platform pops up the input box
  • Fix garbled characters when typing Chinese characters on iOS platform
  • Optimize the completion button design of the input box
  • Fix the problem of entering an emoticon in WeChat game
  • Optimize the API design of TiledTile (do not allow layer to be set, get it automatically)
  • Fixing the offset problem when the hexagonal TileMap uses TiledTile
  • Fix native platform FileUtils writeStringToFile crashes when called

REMOVED & DEPRECATION

A large number of private and non-core APIs for v1.x have been removed or discarded. See the upgrade guide for details.

Related Resources

  • [Cocos Creator v2.0 Upgrade Guide]
  • [Creator v2.0 API doc]
  • [WeChat game open data domain usage document]
  • [Material use case]
2018.08.13

V1.10.1

Publish Time: 2018.08.13

Cocos Creator 1.10.1 has been released.

The following is a list of changes to 1.10.1

v1.10.1 is a bug fix for the recently released v1.10.0. It is recommended that all v1.10 users update to this version. This version is not an alternative to v2.0, v2.0 is still the current version, and new projects are still recommended to use v2.0. As the last major version before v2.0, we will try our best to maintain stability until we can support users who are temporarily unable to upgrade to v2.0.

Good quality is important to us. Thank you very much for the feedback from developers through the forum, GitHub, Cocos technical services and other channels. Let us look forward to the upcoming 2.0.1!

RELEASE NOTES

Editor

  • Fix WeChat sub-package related issues
  • Fix project.js may be empty after the project is built
  • Fix QQ play a build report bkgame related error
  • When the repair project contains a large number of broken images, saving the preview when refreshing the preview or previewing will cause the editor to jam.
  • WeChat developer tool error when fixing the build panel without checking “Source Maps”
  • Fix an issue where vConsole does not display after enabling MD5Cache
  • Fixed an issue where the .app program could not be selected within the mac platform preferences
  • Added button for new clip on animation editor
  • Level manager details are perfect

Engine

  • Fix audioEngine’s isLoop always returns false
  • Fixed an issue where the Text component was offset when the Label component was using TTF fonts
  • Improve the text display of the EditBox under QQ Play
  • Fix Android video playback related issues
2018.08.03

V2.0

Publish Time: 2018.08.03

After a large-scale underlying refactoring and a two-month stability iteration, Cocos Creator v2.0 is finally available. The core goals of the Cocos Creator v2.0 design were twofold:

  • Significantly improve the engine performance
  • Provide more advanced rendering capabilities and richer rendering customization’s

In order to accomplish this goal, we completely rewrote the underlying renderer, which structurally guarantees performance improvements and upgraded rendering capabilities. At the same time, in order to ensure that user projects can be upgraded more smoothly, we have almost no changes to the API of the component layer. Of course, these changes are not completely transparent to the user, such as the engine loading process, the event system, the streamlining and reorganization of the engine’s overall API, which will have an impact on the user-level API.

Editor

  • Implemented premultiply alpha, filter mode, wrap mode configuration of Texture
  • Abstract the mixed mode configuration into the RenderComponent component base class, all render components can be configured
  • Camera component upgrade, as a direct rendering entry, you can configure various base rendering parameters
  • With Quick Compile integration, the custom engine only needs to use the menu’s developer options -> compiler engine to compile quickly in a matter of seconds
  • Open the WeChat game open data domain as a publishing platform with a separate publishing panel

Engine

  • Add a new renderer based on the 3D engine
  • Render component is fully upgraded
  • Remove the render tree completely, assemble the render data directly and submit the render by the render component
  • Streamlined cc namespace API
  • Streamline Director API
  • Camera component upgrade
  • Start process upgrades, user scripts and plugin scripts can more easily interfere with engine initialization
  • Platform-specific startup code is separated and easier to customize
  • Event system optimization, distinguishing between system events dispatched by the capture bubbling mechanism on the node tree and normal events directly dispatched
  • Fit Width & Fit Height is also compatible with the WeChat game platform.
  • The RenderTexture resource type has been officially added to save the rendered content captured in the camera.
  • Simplify TiledMap functionality to pave the way for subsequent upgrades
  • Physical engine upgrade, performance optimization

Deletions and deprecations

  • A large number of private and non-core APIs for v1.x have been removed or discarded. For details, please refer to the upgrade guide and deprecated

Related resources

2018.07.31

V1.10.0

Publish Time: 2018.07.31

Compared to v1.9, v1.10 adds a lot of features, refactoring the resources of the engine, and greatly optimizing the size of the settings.js file. In addition, 1.10 also supports game code subpackaging on WeChat games and Web and native platforms. This will break through the 4MB limit of WeChat's first package and increase the game loading speed. See [Code Subcontract Loading] for details. At the same time, v1.10 has rewritten many editor code to improve the editor's experience and performance. If your project is planned to be upgraded to v2.0 later, please upgrade to v1.10 in advance to ensure the smoothest upgrade process.

Resource Upgrade

Starting with v1.10, Cocos Creator refactored the underlying resource types. Most projects are unaffected, but some projects may receive some warnings. See the [v1.10 Resource Upgrade Guide] for details.

Editor

  • Greatly optimize the size of the published js file
  • Script subpackage settings have been added to the property inspector for the folder
  • Allow each project to set a custom engine separately
  • Add the node lock function in the hierarchy manager. When the mouse is moved to the node, there will be a lock button on the left side. After the node is locked, the node cannot be selected in the scene editor
  • In the Property inspector of the Prefab resource file, the Optimize Policy option has been added to optimize Prefab creation time. See [Prefabricated Resources: Setting Optimization Strategies] for details
  • Optimize the main menu under Windows
  • Add an auto-refresh feature to the list of scenes in the build panel.
  • When publishing to the native platform, MD5 is also added to the file naming to facilitate hot updates
  • Script compilation will automatically skip all .d.ts files to avoid TypeScript error reporting
  • The Console panel adds the Clear on Play option to automatically clear the log before the game previews
  • Adjust the text font and color of the Console panel
  • A search option button has been added to the search bar of the Hierarchy Manager and Explorer
  • Added plugin management features in the plugin store
  • Allows you to change the custom control icon in the control library
  • The resource manager adds recognition of aac and pcm extension audio files
  • Supports direct search of the compressed uuid format when the resource manager searches for uuid
  • Allow the right mouse button to drag and drop the timeline of the Timeline editor
  • An exit menu has been added to the Dashboard's system tray icon

Engine

  • Support game script subcontract loading, see [Code Subcontract Loading] for details
  • The align mode property is added to the Widget component. When set to ON_WINDOWS_RESIZE, it will be automatically refreshed when the window size changes
  • The loading of the [text] and [JSON] resource types is officially supported
  • The native platform adds the [cc.sys.getBatteryLevel] and [cc.sys.getNetworkType] interfaces to get device power and network status
  • When the native platform is hot updated, the old version of the resource file will be deleted
  • VideoPlayer adds volume adjustment and mute functions
  • Add DragonBones native platform binding interfaces getSlots, replaceSlotDisplay and Slot.name (thanks @feijing566)
  • TiledMap supports rendering and cropping of ortho maps in any direction on the web platform
  • The Layout component will only typeset active nodes
  • Retina rendering is enabled by default on the Android UC browser.
  • Enable Webgl on UC Browser 11 or later
  • Increase the recognition of the UCBS browser
  • Gravity sensing is adjusted to only be available when the developer has a registration event

 Bug Fixes

  • [Editor] Fixes the jam when setting the SpriteFrame in the set
  • [Editor] Fixes the simulator configuration to save related issues
  • [Editor] Fixed an issue where the error message output from the emulator to the Console was displayed in white
  • [Engine] Fixed an error when the resource export tool encountered the same parent folder name
  • [Engine] Fixed an issue where copying the automatically synchronized Prefab subnode under the editor might be wrong
  • [Engine] Fixed a problem where the fragment texture in the automatic map set was incorrectly referenced by other resources
  • [Engine] Fixed a bug where the plugin script did not correctly parse the CC_WECHATGAME and CC_QQPLAY keywords
  • [Engine] When fixing scene switching or node destruction, the animation may not stop playing
  • [Engine] [Wechat] Fixes some versions of WeChat games to get the problem of each frame interval
  • [Engine] [Wechat] Fixes RenderTexture related issues on Android WeChat games
  • [Engine] [QQPlay] Fix QQ The problem of repeated downloads when playing a resource
  • [Engine] Fixed an issue where the slider of the Slider component might not be right when dragged
  • [Engine] Fixed an issue where the audio load event could be triggered repeatedly
  • [Engine] Fixed a problem where the user changed the level while dectivating the node without any error
  • [Engine] Fixed an issue where WebView could not be hidden in the Safari browser on some platforms (iOS 9/10 or Mac)
  • [Engine] Fixed BMFont rendering pitch problem for native platforms.
  • [Engine] Fixed an issue where the button's touch area would be offset when Canvas was unchecked for Fit Width and Fit Height

Upgrade the Android SDK

Starting with v1.10, the API Level in the Android build panel specifies the minimum Android version supported by the compiled apk. It is recommended to select 14. targetSdkVersion, compileSdkVersion, buildToolsVersion have all been upgraded to 26. If the developer has other needs, you can manually modify proj.android-studio/app/build.grade and proj.android-studio/gradle.properties

REMOVED

  • Removed Eclipse and Ant to build support for the Android platform
  • Removed support from Chipmunk
  • Removed loader.loadRes to directly load the support of the child SpriteFrame in the collection, please load the gallery first and then call atlas.getSpriteFrame(name)

DEPRECATION

  • As of 10.0, Texture2D.releaseTexture is no longer recommended, please use Texture2D.destroy instead
  • As of 8.2, cc.eventManager is no longer recommended, please use cc.EventTarget or cc.systemEvent instead, the original API will be removed in 2.0
  • As of 8.2, cc.inputManager is no longer recommended, please replace it with the same interface of cc.systemEvent, the original API will be removed in 2.0
  • As of 8.2, dragonBones.CCFactory.getFactory is no longer recommended, please use dragonBones.CCFactory.getInstance instead, the original API will be removed in 2.0

 KNOWN ISSUES

  • When you copy and paste a resource in the Explorer, the resource property will not be copied. (Since 1.9.0)
  • The Android native platform does not support playing remote video
2018.07.06

V1.9.3

Publish Time: 2018.07.06

Cocos Creator v1.9.3 is a minor upgrade to the recently released v1.9.2. It mainly improves the support for WeChat games and QQ play. It is recommended that all 1.9 users update the engine version to get a better experience as this release also improves quality and careful polishing. Thank you very much for the feedback from developers on the forums, GitHub, Cocos technical services and other channels.

Animation editor

  • Fix where the data may be incomplete when the animation editor saves the animation.
  • Fix where directly editing the texture animation will report an error
  • Fixed an issue where the animation editor could not add width and height properties under size

WeChat game

  • Fixed an issue where only a single audio can be played on WeChat games and the number of audio plays is limited.
  • Fix that WeChat mini game audio can’t stop
  • Fix gravity sensing direction and wrong value in Android WeChat game
  • Fix not being able to submit a TypedArray format texture in WeChat games
  • Fix that the frame rate is abnormal on the old WeChat
  • Improve WeChat mini game video playback support
  • Downward compatible with WeChat games 1.7.4 version base library

QQ Play

  • Fix only play a single audio and the number of audio playback is limited
  • Fix unable to operate the engine object during the game loading process
  • Fix particle play card dead problem
  • Fix a semi-transparent text will be rendered into a black question

DragonBones

  • Fixing DragonBones’ repeated assignment of bones on native platforms can cause crashes
  • Fix manually clearing the texture data of Dragon DragonBones

Other

  • Fix text box for Web and Android platform Input Flag is invalid
  • Fix Label rendering related issues
  • Fix cc.game’s EVENT_HIDE and EVNET_SHOW callbacks may be called multiple times
2018.05.31

V1.9.2

Publish Time: 2018.05.31

Cocos Creator v1.9.2 is a minor upgrade to the recently released v1.9.1. This release mainly improves the support for WeChat games and QQ games. If you release on WeChat or QQ it is recommended that you upgrade to this release.

Precautions:

  • This version fixes the problem where a ZERO blending mode is invalid. If the image color is incorrect after the upgrade, check if the blending mode of the Sprite component is set to ZERO. If so, change it back to the default value.
  • This version rewrites the animation editor. If you encounter any errors please create a topic on our forums.

Features

  • [Editor] [Timeline] Animation Editor can edit “missing nodes” and allow node data to be migrated
  • [Editor] [Timeline] Animation Editor supports copying and pasting keyframes on multiple nodes at the same time
  • [Editor] [Timeline] Animation Editor Several Experience Optimizations
  • [Editor] Place the adaptation layer code of QQ Play and Wechat games into the Contents/Resources/builtin directory of the editor for users to upgrade
  • [Engine] Upgrade Facebook Instant Games SDK to 6.2
  • [Engine] Optimizing Label’s Memory Usage on Non-native Platforms

WeChat Games

  • Fixed an issue where the AudioSource component may report an error when it is destroyed
  • Optimize the implementation of sounds on WeChat games
  • Use openDataContext to define the open data field in the game.json of the WeChat game. Change the entry file of the open data field to index.js
  • Fix the issue of loading remote resources in the WeChat open data domain
  • Fix errors that may occur when loading plist particles on WeChat games
  • Fix gl.texImage2D error caused by calling cc.RenderTexture.create in WeChat game
  • Fixed an error on WeChat getting old WeChat game open data domain on old version
  • Allows simulation of system information obtained through cc.sys.os on the WeChat mini game developer tools
  • Fixed an issue where the subdomain could not be correctly identified on the old version of WeChat

QQ Play

  • Optimized QQ to play a sound on the realization
  • Fix QQ playing a problem with the following blue screen in iOS 10
  • Repair QQ may play an error when loading plist particles
  • Fixed plug-in script loading exception when posting to QQ to play with Windows
  • Improve header processing in XMLHttpRequest for QQ
  • Perfect userAgent for QQ
  • Fixed QQ playing a text stroke effect

Bug Fixes

  • [Editor] Fix Documentation Links for AudioSource and MotionStreak Components
  • [Editor] Fix the problem that the editor might preview the animation if the animation changes the node’s active
  • [Editor] Fixed an issue where the editor could not be accessed when the login server went down
  • [Editor] Fix the issue that when you repeatedly drag to the same prefab as a child of other prefab
  • [Engine] Fixed an issue where the sprite’s blend mode could not be set to ZERO on the web platform
  • [Engine] Fixed a problem in cc.sequence where nesting other calls to the repeat method’s action would cause abnormal speeds in special cases
  • [Engine] Fix Sprite error after scene change
  • [Engine] [JSB] Fixed an issue that triggered assertions after creating cc.GLProgram in the JS layer and adding it to cc.shaderCache
  • [Engine] [JSB] Fix Native Platform Physics Engine Binding Problem
  • [Engine] [Native] Fixed cc.Sprite.FillType enumeration error on native platform
  • [Engine] [UI] Fixed a positioning issue that may be caused when the scroll view is enabled with vertical, horizontal scrolling, and the inner size is too small.
  • [Engine] [Audio] Fixed an issue where playing audioEngine.resume repeatedly would start from scratch.
2018.4.20

V1.9.1

Publish Time: 2018.4.20

Cocos Creator v1.9.1 is a minor upgrade to the recently released v1.9.0. The detailed changes are:

WeChat Games

  • Support for publishing the entire project to the WeChat mini game sub-domain. For details, please refer to document
  • Support WeChat game configuration in the build panel Remote server address option to facilitate the download of remote resources
  • Support for using TTF fonts on WeChat mini games
  • Switch the adaptation layer of the WeChat game from ES6 to ES5, users can not enable ES6 to ES5
  • Fix potential audio memory leak in WeChat game

QQ Play

  • Support QQ to play in the build panel to configure the remote server address option to facilitate the download of remote resources.
  • Fix some minor bugs in XMLHttpRequest with QQ
  • Fixed an issue where the js path could not be resolved during QQ build
  • Perfect QQ play with multi-touch support
  • Added QQ support for base64 encoded images
  • Perfect QQ Play Adaptation Layer
  • Perfect audio support for QQ
  • Fixed black screen issue after QQ checked MD5 Cache

Other Updates

  • [Editor] [Build] Bug fix for custom project build template functionality not working on the Facebook Instant Games platform
  • [Editor] [Build] Add build-start event to make it easier for users to do some processing before they build
  • [Engine] [Wechat] Fixed an issue where WeChat game audio could not be stopped
  • [Engine] [iOS] Fix the issue that the isTypedArray method fails on iOS 8-9
  • [Engine] [Web] Fixing particle system will remove memory if it is not activated yet
  • [Engine] cc.isValid adds an optional argument. Passing true will return false at the beginning of the destroy frame.
  • [Engine] [Android] Fix a Memory Leak on jni

DEPRECATION

  • As of v1.8.2, cc.eventManager is no longer recommended. Use cc.EventTarget or cc.systemEvent instead. The original API will be removed in 2.0.
  • As of v1.8.2, cc.inputManager is no longer recommended. Use the same interface as cc.systemEvent instead. The original API will be removed in 2.0.
  • As of v1.8.2, dragonBones.CCFactory.getFactory is no longer recommended. Please use dragonBones.CCFactory.getInstance instead. The original API will be removed in 2.0.

KNOWN ISSUES

  • When copying and pasting resources in the explorer, the resource properties will not be copied. (Since 1.9.0)

QQ Play known issues:

QQ is still playing in the grayscale test, developers also need to obtain internal testing qualifications for development, and only supports compiling on Mac for the time being. In addition, our adaptation work for QQ has not been completely completed yet. The following modules are currently not supported:

  • Label: TTF is not supported, system font can only use the default font
  • Particle system: Map data is not stored in plist. Only support map URL
  • WebView
  • VideoPlayer
  • DeviceMotion

The above functions are expected to be supported one by one in future updates. We will also continue to closely communicate with the Play engineers and continue to optimize the fitting effect.

2018.03.14

V1.9.0

Publish Time: 2018.03.14

As of March 14, 2018, Facebook officially launched the Instant Games platform, worldwide, giving all developers an equal chance to enter and expand their overseas markets.

Many game studios have chosen Cocos Creator as their game development engine. Rapid development and continuous iteration make Cocos Creator the perfect choice. It has already formed a competitive advantage in the field of small games. The Cocos Creator editor is a powerful tool for developers to create excellent content and innovative games.

Cocos Creator is the best tool to create Facebook Instant Games. Already there are 24 games available produced by Chinese domestic companies and Cocos Creator already is sitting on 54% market share. The Cocos team is familiar with the workflow of online games and the requirements of the Facebook Instant Games platform. In order to help game studios successfully release their games on the Facebook Instant Games platform, and help them seize the opportunity opened up by the huge overseas HTML5 market, the engine team continuously worked overtime.

Proportion%20diagram%20

Cocos Creator 1.9 is released today with integrated Facebook Instant Games SupportCocos Creator provides major features including:

  • Integrated Facebook Instant Games SDK and game templates, allowing users to quickly integrate features of Facebook Instant Games
  • A one-click packaging process in the Cocos Creator Build Panel. Games can be packaged directly into Facebook Instant Games.
    Developers only need to do a few simple steps. Cocos Creator handles all the technical aspects, you just need to code your game.

For more detailed technical documentation please refer to this link

Cocos Creator 1.9 Release Notes

Cocos Creator 1.9.0 is a functional update to the recently released v1.8.2. It mainly adds support for Facebook Instant Games and QQ Play. It also improves the ease of use of the editor, fixes some of the functional flaws, and recommends that all development projects be upgraded.

The detailed changes are as follows:

Features

  • Support for Facebook Instant Games, see Documentation
  • Support QQ Play, See Documentation
  • [Editor] Assets panel directly supports copy and paste resources (via right-click menu or shortcut keys)
  • [Editor] In the scene editor’s Rect edit mode, support for dragging a node’s white space, easy to change the value of the anchor
  • [Editor] Added “Sync” button to the particle component’s Property inspector. Clicking Sync will set the Custom parameter to be the same as File. (Synchronize button is only available if you check Custom and set File)
  • [Editor] Adds scale property to Timeline to facilitate editing of both scaleX and scaleY
  • [Engine] PhysicsManager Adds FIXED_TIME_STEP and MAX_ACCUMULATOR Parameters

Bug Fixes

  • [Engine] [Web] Fixed an issue where the input box could not pop up in some MIUI browsers
  • [Engine] Fix the issue that the audio may not stop after checking MD5 build
  • [Engine] Fixed issue where Label’s stroke may be truncated by one pixel
  • [Engine] Fixed an issue with exception-free messages in the cc.Class constructor
  • [Engine] [Animation] Fixed issue where one frame would be played less when the Animation component switched animations or manually set the AnimationState time
  • [Engine] [Wechat] Fixes Failed to Use Remote Service Loading After iOS Wechat Mini Game Native Code Pack Exceeding 4MB

DEPRECATION

  • As of v1.8.2, cc.eventManager is no longer recommended. Use cc.EventTarget or cc.systemEvent instead. The original API will be removed in 2.0.
  • As of v1.8.2, cc.inputManager is no longer recommended. Use the same interface as cc.systemEvent instead. The original API will be removed in 2.0.
  • As of v1.8.2, dragonBones.CCFactory.getFactory is no longer recommended. Please use dragonBones.CCFactory.getInstance instead. The original API will be removed in 2.0.

KNOWN ISSUES

  • When copying and pasting resources in the Assets panel, the resource properties will still not be copied. (Since 1.9.0)
  • On a native platform, calling the action.easing(cc.ease***) method may cause the node’s logical data to be out of sync. Please use new cc.Ease***(action) instead. (Since 1.8.2)

QQ Play Known Issues:

At present, QQ Play is still in AB Test. Developers are also required to obtain internal beta qualification in order to develop, and currently only support compiling on Mac. In addition, our adaptation work on QQ Play has not been completely completed yet. The following modules are still not supported at present:

  • Label: ttf is not supported, system font can only use the default font
  • Particle system: Map data is not supported in plist. Only texture urls are supported.
  • WebView
  • VideoPlayer
  • DeviceMotion

The above functions are expected to be supported one by one in future updates. We will also continue to closely communicate with QQ Play’s engineers to continuously optimize the matching effect.

2018.03.09

V1.8.2

Publish Time: 2018.03.09

As the first official version launched after the new year, although it is a small version, it is important to fix the bugs in the previous version: improve WeChat game support, fix these bugs : Including iOS platform crashes, replacing AABB's bounding box detection with OBB, touch cancel event issues, etc. It is recommended that new users who are preparing to use Creator directly open v1.8.2, old users please remember to optimize and upgrade! 

Release Notes

- Improve support for WeChat games

- Fixed some iOS platform crash issues

- The hit test used for engine scene selection is changed from AABB to OBB, which improves the precision of the click on the rotated node

- The engine did not handle the touch cancel event issue

- Fixed a problem with low running frame rate on Chrome on some older desktops 

Detailed changes

WeChat games:

1. Listen to the WeChat Developer tool, listen for error messages and prompt the user

2. provide the default visitor appid, easy for developers to test

3. repair does not support the problem of loading remote paths

4. the repair folder does not exist, causing fs.save failed

5. repair the built-in TypeScript Hello World project on the WeChat game Promise problem

FEATURES 

[Engine] The hit test used for scene selection is changed from AABB to OBB, which improves the click accuracy of the rotated nodes

[Editor] Adjust the design resolution in the project settings for options

BUG FIXES 

[Editor] Fix the problem of right-clicking event in Timeline and then clicking delete, can't really delete

[Editor] Fixes several errors in the default new script

[Editor] Fix garbled characters caused by __ctor__ in creator.d.ts on Windows platform

[Engine] The repair engine did not handle the issue of the touch cancel event

[Engine] Fixed an issue where events registered after a node level change might be lost

[Engine] [Web] Fixed an issue with low runtime frame rate for Chrome on some older desktops

[Engine] [UI] Fixing the length of the EditBox when using some Chinese input method will cause the input to be truncated by half

[Engine] [Physics] Fixed an error that RigidBody.allowSleep failed to set correctly

[Cocos Analytics] Fix native platform not enabled Cocos Data Statistics SDK will still prompt uninitialized issues

[Engine] [Web] Fixing Windows-published Web projects may have performance issues

[Engine] [Web] Fixed an issue where audio was stopped during loading and then play could not be played

[Engine] [Web] Fix render texture Screenshot may not be complete

[Engine] Fixed cc.path.dirname error return value

[Engine] Fixes JS exceptions triggered by unschedule and again schedule current callback function in schedule callback

[Engine] [Android] Fixing the problem that VideoPlayer can't repeat play on Android

[Engine] [Native] Fix memory leaks when DragonBones restarts the game

[Engine] [Native] Fix memory leaks in Spine's SkeletonRenderer

[Engine] [Native] Fix cc.Scheduler.schedule does not support the problem of passing only 3 parameters

[Engine] [Native] Fixed an issue with extra 0 when converting JS floating point numbers to strings

[Engine] [Native] Remove excess lineHeight warning from native platform

[Engine] [Native] Fixed an issue where cc.Scheduler.pauseAllTargets and cc.Scheduler.pauseAllTargetsWithMinPriority were not defined by the native platform

[Engine] [Native] Fixed an issue where mouse wheel events on Windows and Mac platforms were not triggered

[Engine] [Native] Resolve crashes when the native platform has a low probability of WebSocket shutdown

[Engine] [Native] Resolve low probability crashes when exiting the game

[Engine] [Native] Resolve potential crashes caused by using cc.spawn

[Engine] [Native] Resolve memory leaks that Node-associated Actions cannot be released

[Engine] [iOS] Solving a crash in the exception handling of JS code on the iOS platform resulting in a low probability of exception handling

[Engine] [iOS] Solving low probability crashes when calling cc.callFunc on iOS platform

[Engine] [iOS] Solving low probability crashes when creating cc.Sequence on iOS platform

[Engine] [Native] Resolve potential crashes when the native platform frequently modifies the button's interactable

PERFORMANCE IMPROVEMENTS

[Engine] [JSB] Optimize the jsb_polyfill script volume exported by the native platform

DEPRECATION

It is no longer recommended to use cc.eventManager, please use cc.EventTarget or cc.systemEvent instead, the original API will be removed in 2.0.

It is no longer recommended to use cc.inputManager, please replace it with the same interface of cc.systemEvent, the original API will be removed in 2.0.

DragonBones.CCFactory.getFactory is no longer recommended, please use dragonBones.CCFactory.getInstance instead, the original API will be removed in 2.0.

BREAKING CHANGES

The cc.Texture2D.initWithData method no longer supports passing in the last optional parameter contentSize.

KNOWN ISSUES

On the native platform, calling the action.easing(cc.ease***) method may cause the node's logical data to be out of sync. Please use cc.ease***(action) instead.

MAC digital certificate upgrade

 If the Mac version fails to open after downloading, the prompt dmg or app file is corrupted, or from an unidentified developer, because we upgraded the digital certificate.

Solution Right-click on the dmg or app file in the Finder, select "Open", and then click Open again in the pop-up dialog. To open it the next time, go to System Preferences -> Security & Privacy and click "Always Open".

If this still does not work, please contact us. The workaround is to first execute sudo spctl --master-disable in the command line, and then verify the account password, you can open it.

If you have any problems during installation, upgrade or use, please feel free to post feedback directly to the community forum.cocos.com/c/Creator. Of course, if you want to be able to easily compile and publish to the WeChat game debugging environment without any platform porting work, then remember to download Cocos Creator v1.8.2 today!

2018.01.18

V1.8.1

Publish Time: 2018.01.18

The engine team adheres to the consistent philosophy of releasing small versions and fixing them instead of adding large functions. Version v1.8.1 mainly fixes bugs based on 1.8, improves WeChat game support, and fixes some native platform crashes.  All projects under development should be upgraded.

 The detailed changes are as follows:

 WeChat Game

 [Editor] When publishing to WeChat games, the ES6 to ES5 option is disabled by default

 [Engine] Fix 1.8.0 We cannot introduce WeChat jssdk in webpage, which will lead to environmental misjudgment

 [Engine] Fixed an issue where EVENT_SHOW, EVENT_HIDE would not trigger when switching between front and back on WeChat games

 Special Function 

 [Editor] When you double-click a script on Windows, you are prompted to set the script editor first to avoid the system default Host popup error

 [CocosStudio] Improve CocosStudio project import

 - No longer add Widget components to nodes with a Position of 0%

 - Support for importing animation frame events

 - Fixed an issue where importing multiple nested animations could not be properly associated

 [Engine] Added interface for iPhone X safe area (cc.view.getSafeAreaRect and cc.director.getSafeAreaRect)

 [Engine] automatically hides the native iPhone X home indicator

 In addition, most of the above changes are included in the v1.7.2 patch released in the previous community

 Compared to 1.7.2, v1.8.1 In addition to supporting WeChat games, the following changes have been added:

 [Editor] Fixes a problem in a special case after the release of JS will contain invalid symbols

 [Engine] Fix garbled __ctor__ in creator.d.ts

 [Engine] Fixing potential memory issues with TiledMap on native platforms

 [Engine] Fixing a potential crash in the native platform invokeJSTouchOneByOneCallback

 [Engine] [JSB] Fixed an issue where the TiledMap was not bound to the getTiles interface on native platforms after 1.7.0

 [Engine] [JSB] Fixing JS has a probability of crashing after getting the original Scheduler, ActionManager, EventDispatcher, etc.

 [Engine] [JSB] Fix event.stopPropagation() will stop all touch point issues

 [Engine] [JSB] Add a callback function in TextureCache to notify textures to be cached and removed from the cache

 [Engine] [JSB] Fix iOS crash in extreme cases

 [Engine] [JSB] Fixed an issue where createTypedArray returned null under iOS 9

 [Cocos Analytics] Upgrade Data Statistics SDK to 1.0.5 to resolve issues with the BaseEvent class in iOS Cocos Analytics that conflicts with other third-party libraries

 Bug Fix

 [Editor] Fixes a problem in a special case after the release of JS will contain invalid symbols

 [Engine] Fixed garbled characters caused by __ctor__ in creator.d.ts

 [Engine] Fixing a potential crash in the native platform invokeJSTouchOneByOneCallback

 [Engine] [JSB] Fixing JS has a probability of crashing after getting the original Scheduler, ActionManager, EventDispatcher, etc.

 [Engine] [JSB] Fix native platform event.stopPropagation() will stop all touch point issues

 [Engine] [JSB] Fix iOS crash in extreme cases

 [Engine] [JSB] Fixed an issue where createTypedArray returned null under iOS 9

 [Engine] [JSB] Fixed an issue where the TiledMap was not bound to the getTiles interface on native platforms after 1.7.0

 [Engine] Fixing potential memory issues with TiledMap on native platforms

 [Editor] Fix distribution editor error distribution icon

 [Editor] Fix the problem that MD5 Cache will modify user code under Windows

 [Engine] Fix physics AABB collision callback

 [Spine] Fixed a problem where spine repeatedly creates render objects when activated in debug mode

 [Camera] Fix issues that are enabled when the camera is not activated on the native platform

 [Engine] Fix module does not get Intersection if only Intersection is checked

 [Engine] Fixed ScrollView being scaled and effecting incorrectly

 [Engine] Fix RenderTarget scaling problem

 [Engine] Fix PageView.scrollToPage does not correctly determine the scope of the problem

 [TiledMap] Fixing the tile layer's layer when there is no element error

 [DragonBones] Fixes the problem that DragonBonesData has the same name on the web platform and cannot be loaded correctly when the bone data is different

 [Engine] Fixing Component.schedule may cause "element's paused should be paused" error

 [Engine] Fixing mouse event bubbling related issues

 [Engine] [JSB] Fix bug in native platform that failed to call opengl and glNode interface in 1.7.0

 [Engine] [JSB] Fix some related issues in JSB 2.0

 [Engine] [JSB] Fix native platform Scheduler.isTargetPaused Undefined issues in JS

 [Engine] [JSB] Improve the parameter types supported by jsb.reflection.callStaticMethod

 [Engine] Remove SSE support for Android platform x86 architecture to fix running issues on some Android emulators

 [Engine] Fix compilation error when Android APP_PLATFORM >= 22

 [Engine] Fixed an issue where the order of child nodes of Layout could not be refreshed after changing order

 [Engine] Fixing the problem that the scene resident node is invalid on the native platform z order

 [Engine] Fix native platform ResizableBufferAdapter::resize

 [Engine] Fix native platform socketio.emit exception caused when not passing payload parameter

 [Engine] Fix native platform XMLHttpRequest call onerror instead of ontimeout when timeout

 [Engine] [JSB] Fix native platform jsb.reflection.callStaticMethod Potential memory leaks when class is not found (Fixes potential memory leak if can't find class by jsb.reflection.callStaticMethod.)

 [Engine] Solve Android conversionEncodingJNI memory leak problem

 [Engine] Solve the warning problem that Android onWavClose has no return value

 [Engine] Solve the crash caused by Android switching in the foreground after the Android is in the background for a long time and the Activity is recycled by the system

 [Cocos Analytics] Solving iOS links Cocos Analytics generates a lot of problems with deployment target mismatch warnings

 [Cocos Analytics] Upgrade Data Statistics SDK to 1.0.5 to resolve issues with Reachability and BaseEvent classes in iOS that conflict with other third-party libraries

 [TiledMap] Fix TiledMap rendering exception caused by depth detection

 [Engine] Fix the web platform and check the fit problem after Fit Height and Fit Width

 [UI] Fix related error caused by deleting SpriteFrame used by Button

 [UI] Improve UI text wrap rules

 [DragonBones] Fixing the problem of lost keel events

Performance Optimization 

[Build] greatly optimizes the script size of native platform enabled script encryption 

Deprecated 

[UI] Add the cc.ToggleContainer component, which will replace cc.ToggleGroup in v2.0

See the documentation for details 

http://github.com/cocos-creator/creator-docs/blob/master/zh/components/toggleContainer.md

2017.12.28

V1.8

Publish Time: 2017.12.28

The Cocos Creator team worked with the WeChat development team to complete Cocos Creator's support for the WeChat mini-game platform. This document will help developers to submit games to the WeChat mini-game platform smoothly. 

This document will cover:

 1. the introduction of the operating environment of WeChat mini-games

 2. how to use Cocos Creator to publish WeChat mini-games

 3. WeChat mini-game resource management

 Along with this document, there is also a teaching video that can be combined with this document to help understand this process.

WeChat Mini-game platform

WeChat is a game product platform under WeChat applet. It not only provides powerful game capabilities, but also provides a large number of native interfaces, such as payment, social, file system, photo, NFC, etc. It is equivalent to combining the advantages of WEB for easy propagation and rich Native features.

 The running environment of the mini-game is an extension of the mini-game program environment. The basic idea is to provide the necessary WEB interface to the user, and pursue the same development experience as WEB.  The mini-game provides a wrapper around the WebGL interface based on the applet environment, which greatly improves rendering capabilities and performance.  However, since these interfaces are encapsulated by the WeChat team through the native implementation of self-research, they are not equivalent to the browser environment.  Regarding the game aspect, the current mini-game environment provides the rendering interface of Canvas and WebGL, so the two rendering modes of the Cocos Creator engine can be run, but for performance reasons, we use WebGL to render the game content by default, and users are strongly recommended.  Do not modify the default configuration.

As an engine, in order to make the developer's workload as simple as possible, the main tasks we have done for our users include:

 1. the engine framework adapts to the WeChat game API, pure game logic level, the user does not need any additional modifications

 2. Cocos Creator editor provides a fast packaging process, directly released as a WeChat game, and automatically evokes the developer tools of the game

 3. automatically load remote resources, cache resources and cache resource version control

 In addition, there is no difference between the game submission, review and release process and the mini-program of the mini-game platform. Both of them need to comply with the requirements and standard processes of the WeChat team. For details, please refer to the link at the end of the article.

Build a WeChat game with Cocos Creator

Starting with Cocos Creator v1.8 WeChat mini-games can be created. Here are the detailed release steps:

 1. Download WeChat Developer Tools on the WeChat public platform

 2. Set the WeChat Developer Tools path in "Creator Preferences" > "Native Development Environment"

3. Log in to the WeChat public platform and find the AppId

4. set the project name and appid in the Build Panel

5. Build release

 6. Click play to open the WeChat Developer tool

7. Preview deployment

After building, a WeChat mini-game package will be generated under the project's build directory, which already contains the configuration files of the WeChat mini-game environment: game.json and project.config.json

Resource management for mini-game environments

In a mini game environment, resource management is the most special part. It differs from the browser in the following four points:

 1. the size of the mini-game package can not exceed 4mb, contains all the code and resources, additional resources must be downloaded through the network request.

 2. For files downloaded from a remote server, the game environment does not have a browser cache and an expired update mechanism.

 3. For the resources in the mini-game package, the mini-game environment is not loaded on demand, but all the resources in the package are loaded at one time, and then the page is started.

 4. It is not possible to download script files from a remote server.

 Here are two key issues, first page loading speed and remote resource caching and version management.  For the first page loading speed, we recommend that the user only save the script file in the mini game package, and other resources are downloaded from the remote server.  The download, cache and version management of remote resources, in Cocos Creator, has already helped users.  Let me explain the logic of this part.

 In the mini-game environment, we provide a wxDownloader object, after setting the REMOTE_SERVER_ROOT property, the logic of the engine downloading the resource becomes:

 1. Check if the resource is in the mini-game package.

 2. If it does not exist, query the local cache resource.

 3. Download from a remote server without caching

 4. After downloading, save it to the game application cache for re-access.

 At the same time, when the md5Cache function of the engine is enabled, the url of the file will change as the content of the file changes. When the game releases a new version, the resources of the old version will naturally become invalid in the cache, and only new requests can be requested from the server.  Resources also achieve the effect of version control.

 Specifically, what developers need to do is:

 1. When building, check the md5Cache function.

 2. Upload the res folder in the mini-game distribution package to the server.

 3. Delete the res folder in the distribution package.

 4. in main.js, find the corresponding code segment and add REMOTE_SERVER_ROOT settings

5. for the test phase, you will not be able to deploy to the official server, you need to use the local server to test. Then open the details page in the WeChat Developer tool, check the project settings do not verify the security domain name, TLS version and  HTTPS certificate option. 

Platform SDK access

In addition to pure game content, the WeChat game environment also provides a very powerful native SDK interface, the most important of which is user, social, payment, etc. These interfaces are only found in the WeChat game environment. The porting of such SDK interfaces still needs to be handled by developers at this stage.  Here are some of the powerful SDK capabilities provided by WeChat games:

 1, user interface: login, authorization, user information, etc.

 2, WeChat payment

 3. Forward and get forwarding information

 4, file upload and download

 5. Media: pictures, recordings, cameras, etc.

 6. other: location, equipment information, scan code, NFC, etc.