Cocos Creator is a JavaScript based game engine and editor built on top of the Cocos2d-x project. I did an in-depth “hands on” video a few months back if you are interested in learning more. Today they just released version 1.1.0 adding several new fixes and features. New features include the ability to import projects from Cocos Studio or Cocos Builder, a new Collider component, a refined asset loading API.
Complete changes from the release notes:
Editor
- [Scene] Fixed when undo with
Ctrl/Cmd+Z
node size may not get recovered issue.- [NodeLibrary] Fixed user custom nodes cannot be saved issue.
- [Editor] Fixed an simulator crash issue if Cocos Builder imported project has particle data with missing texture
- [Editor] Remove data that’s using default value in exported JSON file to reduce release package size.
- [Editor] Fixed an issue that cause Editor log file cannot be accessed.
- [Editor] Add
auto refresh
option to enable or disable refresh on preview device when recompiling scripts or saving scene.- [Editor] Fixed renaming Atlas assets may cause texture asset reference error issue.
- [Editor] Fixed publish to web platform may have broken bitmap font asset reference issue.
- [Editor] Fixed an issue that when importing Tmx assets on Windows, the raw asset reference may be invalid.
- [Prefab] Fixed after double click prefab to enter edit mode, click close without any modification will cause save prompt to pop issue.
- [Animation] Fixed changing current editing animation clip name will cause error.
- [Animation] Fixed an issue that cannot drag spriteFrames to spriteFrame property track.
Component
- [Component] When add more than one component that may affect node’s size, there’ll be clear error message.
- [Component] Make sure there are correct error message when CCClass property default value is inconsistent with property type.
- [Label] Bitmap Font component now has original font size displayed in Properties panel.
- [Label] Fixed when Label using system font update string content the node size will not be updated correctly issue.
- [Label] Fixed Label using TTF font may cause font resource to be loaded twice in Web browser issue.
- [Label] Fixed when Label content size changed the event not fired correctly issue.
- [Canvas] Fixed setting opacity property has no effect for Canvas node if there’s an EditBox component in Canvas’s children.
- [Layout] Fixed deactivate children node will not trigger size recalculate for Layout container resize mode.
- [Layout] Refactored Layout and Widget calculation to increase performance.
- [ScrollView] Fixed when content is a Layout component with
ResizeMode
set toContainer
, the scrollToXXX apis will not take effect in current frame issue.- [ScrollView] Fixed in JSB use Label as content may not be able to scroll issue.
- [MotionStreak] Now the trail will be rendered according to anchor point, also fixed
setDirtyFlag
error on Android, add a property to set trail color.- [Audio] Fixed AudioSource will not stop playing when switching scene.
Engine
- [Engine] Add a new class cc.NodePool to replace cc.pool. The new NodePool will be fully compatible with the new event system, so you can get a node from the pool and register/deregister any event you like.
- [Engine] Add VideoPlayer component, currently only supports Web, iOS and Android.
- [Engine] Fixed an issue that
update
may execute beforestart
.- [Engine] Fixed an issue that using
this.node.active = false
inonLoad
function will not disable rendering issue.- [Engine] Fixed an issue that
update
will not execute after disable and enable component multiple times.- [Engine] Fixed
cc.Animation.removeClip
api will stop current playing animation if the first argument is not defaultClip and the second argument is false- [Engine] Fixed dt (delta time) in
update
function may not be real time between this and previous frame issue.- [Engine] Reworked
cc.loader.loadRes
api, now url should not specify file extension. The second arugment is to specify a type for the resource. Add a new apicc.loader.loadResAll
to load all assets in a given folder.- [Engine] Add
cc.director.preloadScene
api for preload a scene and all its assets. The oldcc.director.runScene
will be deprecated- [Engine] Fixed
cc.tintTo
has inconsistent arguments between web and JSB- [Engine] Fixed unschedule the same callback function twice will terminate all other scheduler issue.
- [Engine] Fixed accessing builtin component in
onLoad
may not get component instance issue.- [Engine] Fixed calling
addComponent
inonLoad
will result in the added component’sonLoad
not execute immediately issue.- [Engine] Fixed calling
loadScene
inonLoad
function will cause error issue.- [Engine] Add a feature to force orientation according to Publish setting even if the platform does not allow it (there’re some browser that will lock the orientation)
- [Engine] In preferences panel you can set JavaScript and C++ engine path to the clone from github, to easily integrate custom engine workflow.
- [Engine] Fixed using
setSiblingIndex
to change node order may cause touch event handling in wrong order.- [Engine] Add protection for important global variable so they cannot be overwrite.
- [JSB] Fixed cc.pSub return value type is not Vec2 issue.
- [JSB] Fixed cc.callFunc callback function argument not consistent between JSB and Web issue.
- [JSB] Fixed error when calling
event.stopPropagation
in JSB- [JSB] Fixed auto-binding for jsb.EventListenerAssetsManager
- [JSB] Fixed a crush issue that onTouchBegan function in eventListener cause when not return true.