@slackmoehrle wrote:
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.
v1.1.1 Changelog:
Editor
- [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.
Component
[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.
- [ScrollView] Add
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.
- [Layout] Fixed
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.
Engine
- [Engine]
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
JavascriptJavaBridge
dependencies in C++ engine that cause calling Java method from JavaScript failed issue.- [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
Downloads:
- Creator for Mac
- Creator for WindowsResources:
- Read the documentation
- YouTubeFull 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
Engine customization is always one of the highlight feature of Cocos engine family. Cocos Creator v1.1 contains full engine customization worfklow. There are two layers of engine customization: JavaScript and C++. If you work on Web project you only need JavaScript engine, if you work on cross-platform or one of the native platform you'll need to customize C++ engine as well.
The JavaScript and C++ engines are now available on Github, forks and pull requests are welcome!
- JavaScript Engine: https://github.com/cocos-creator/engine
- C++ Engine: https://github.com/cocos-creator/cocos2d-x-lite
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.Node Library
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.
Breaking Changes
- [Atlas]
cc.SpriteAtlas.getSpriteFrame
argument changed, now you should pass spriteFrame name without file extension, such asatlas.getSpriteFrame(‘sheep_run_0’)
.- [Engine]
cc.loader.loadRes
arguments changed, you should not specify file extension in the url.- [Engine]
cc.Font
asset type has been changed from RawAsset to Asset, so in component property declaration the type of font asset should be declared astype: 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.
Full Changelog
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.
Demo Projects
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!
Posts: 76
Participants: 29