Cocos Creator 1.1.1 released!
We are excited to release version 1.1.1 of Cocos Creator. Cocos Creator is a new, unified, development tool that handles every step in the game development process.
- [Atlas] Add ‘Use specified Atlas to replace spriteFrame in current Scene’ menu item in ‘Developer’ menu.
- [Assets] Imporved atlas asset importing performance
- [Scene] node path shown in Scene status bar can be selected and copy now.
- [NodeLibrary] nodes dragged from Node Library will no longer be prefabs.
- [NodeLibrary] a zoom slider is added to control how big the node icons are.
- [Import] Fixed a Widget error when importing from Cocos Studio project
- [Import] Fixed an node visibility animation effect error when importing from Cocos Builder
- [Prefab] Fixed a critical error that occurs when close prefab editing mode while reloading scene.
- [Animation] add animatable Collider.size property
- [Animation] add animatable Node.skew property
- [Animation] add
cc.AnimationClip.createWithSpriteFrames API to generate animation clip in runtime.
- [Build] Fixed build to ‘Web-Desktop’ show incorrect viewport issue.
- [Build] Fixed build to Android with ‘default’ template will report error issue
- [Editor] Fixed font size in some editor buttons
- [Dashboard] Add path validation to new project page.
[Sprite] Fixed crash error when using Tiled mode on tiny images.
[Mask] Fixed using
removeChild to remove a node with Mask component will report error issue.
[Component] Fixed many different failures when modifying a property’s type if it’s already serialized.
scrollToOffset API to allow positioning scrolling content with pixel position.
[ScrollView] Add event capture phase to solve registering event on node under scrollView may fail issue.
None mode wrong calculation of anchor position.
[Label] Fixed set color on the node has no effect on label color issue.
[Label] Fixed calculated node size wrong using ‘Resize Height’ mode.
[Spine] Fixed v1.0 project Skeleton node cannot be scaled issue
[Tilemap] Fixed scene graphic display error in Windows environment.
[Tilemap] Native platform now supports CSV layer data.
loadResAll now allow path ended with ‘/’
- [Engine] Fixed handling cross domain images will report
downloadImage error issue
- [Engine] Fixed hot update failed on Android platform issue.
- [Engine] Fixed missing
- [Engine] Fixed opacity related actions like FadeOut, FadeTo fail to work in JSB issue.
- [Engine] Fixed EventTouch getID method may cause recursive looping issue.
- [Desktop] Fixed when allow window size to change, the viewport shows wrong zoom when resizing window issue
Full Release Notes from v1.1
Import Project from Cocos Studio / Cocos Builder
As the newest member of Cocos engine family, it’s very important to have data compatibility with scene building tools like Cocos Studio and Cocos Builder. In the new release users can use the ‘Import project…’ menu item from main menu to import ccs and ccb project file.
Assets that can be imported including: Scene, Layer, Node, Texture, Scene Timeline, Particle and Audio. Due to the big difference between object oriented and component scripting system, the source code won’t be imported.
Collider Component System
Physics and collision are key elements of action games. We have received tons of feedback asking for physics engine support. In v1.1 we added Collider Component system so that you can easily use Cocos Creator to develop action based games!
First, once we attach a Collider component to a node, we can specify shape, size and position of the collider. For certain shape of colliders you can also edit control points freely to create any shape you like.
We also add a ‘Group’ property for Node, by setting group collision rules we can control wether a node should collide with other nodes from a certain group.
You can register a callback function on a component attached to the same node. So that when collision happens, the callback function is called with arguments including the other collider and the collider itself. Then you can write any logic code to handle the collision to perform the desire behavior.
Since 3rd party physics engines are generally large and most games will only use small portion of it. We didn’t include any physics engine in the release.
Engine Customization Workflow
Refined Assets Loading API
We simplified and optimized assets loading API, now you can use
cc.loader.loadRes to load any assets with consistent url format. And you should not including asset file extension in the url. Instead, you can pass a second argument to specify the type of asset you want to load.
We also add
cc.loader.loadResAll that supports inputing a folder url and load all assets in that folder.
For dynamic scene loading, this release also includes
cc.director.preloadScene to handle all the scene assets preloading.
In this new panel you can drag and drop node and UI elements to the Scene or Node Tree to easily create them. User can also drag prefab assets from Assets panel to Node Library to create ‘shortcut’ of frequently used prefabs.
cc.SpriteAtlas.getSpriteFrame argument changed, now you should pass spriteFrame name without file extension, such as
cc.loader.loadRes arguments changed, you should not specify file extension in the url.
cc.Font asset type has been changed from RawAsset to Asset, so in component property declaration the type of font asset should be declared as
type: cc.Font (or cc.BitmapFont / cc.TTFFont)
- [Editor] editor window layout data format changed, if you open a project with Creator v1.1 and then use Creator v1.0 to open it a layout error will occur. You can use main menu’s ‘Layout->Default’ to fix it.
- [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] 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 to
Container, 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] 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 before
- [Engine] Fixed an issue that using
this.node.active = false in
onLoad 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 api
cc.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 old
cc.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
onLoad will result in the added component’s
onLoad not execute immediately issue.
- [Engine] Fixed calling
onLoad 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] 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.
The most important source of examples is the Example Collection project template. There are also many demos to show a complete game:
Dark Slash basic game loop demo. Special thanks to Veewo Games for authorizing us to use original ‘Dark Slash’ game resources to make this tutorial.
UI Demos including multi-resolution supporting menu interface with cool transition animations, a backpack generated by data and prefab and a Clash Royale style navigation menu showcase.
Blackjack demo, collaboratively developed with Tencent Games.
Flappy Bird clone featuring a sheep.
Star Catcher demo game, in user manual we have a quick start tutorial showing how to build this game step by step.
We will keep on adding more demos and complete games as well as improving the existing ones!