Cocos Creator v2.0 released!

All particle system data reverted to default when I opened scene while my particle system is using external PNG files and using custom settings without plist file.

Generated APK cannot be installed on Android devices. Any solution for this?

It doesn’t reveal related node in the node tree when I click on a property of component. It just highlights if node is already visible in tree.

component_property

After uninstalling the previous version that was compiled with 1.9.3, I was able to install the new APK, but it does not run. The screen is black and nothing happens… :frowning:

It folds/unfolds the component view when I click on the tickbox:
Capture

Console view doesn’t scroll down when new entry added:

Hi! Thank you for the update! I just upgraded project and noticed that cc.textureCache is removed. I was using it to download a remote texture with cc.textureCache.addImageAsync function. Could you please tell me what is correct alternative to do this now in 2.0.0?

1 Like

Thanks, fixed

The components should be destroyed in Node’s _onPreDestroy, you can set a break point to check out

  1. We will support it in future versions, 2.1 probably
  2. We will fix the usage in getReactionForce
  3. It’s noted in issues

We will revert particle asset upgrade in v2.0.1, if you are using many particle assets, please wait until the next version

we need more informations, there must be some errors

noted, but won’t be fixed in v2.0.1

it’s intended behavior

if you have scrolled the console view to focus on some previous logs, it won’t scroll automatically when new log generated, you must re-scroll it to the bottom to enable the auto scroll

you need to use cc.loader.load(remoteUrl, function (error, texture) {
    // use your texture
})
1 Like

It seems that the JSON loader crashes on Android:

    // Load game data...
    var url = cc.url.raw( 'resources/gamedata.json' );
    cc.loader.load( url, function(err, res) {
        GlobalData.gameData = res.json;
    });

Is it OK to use res.json?

And the following code does not work on Android:

    cc.systemEvent.on(cc.SystemEvent.EventType.KEY_UP, function (event) {
        if ((event.keyCode == cc.KEY.back) || (event.keyCode == cc.KEY.backspace)) {
            // my event hander code...
        }
    }, this); 

It worked fine with 1.9.x.

Best regards,
Zsolt

Under wine: Cocos creator can not be installed on systems with Windows Installer version smaller than 2.0, not work under virtual machine due to lack of 3D.

cc.loader.loadRes('gamedata.json', function(err, jsonAsset) {
        GlobalData.gameData = jsonAsset.json;
});

android back key support is added in v2.0.1

Are you sure about that?
Can you register a event using node.on(“Event name”, function, node-Target) then trying dispatcher some event using emit with same Event name registered before. It’ll will call Script of node have destroyed. Check script’s uid, you can see.

May a problem with sprite component type “TIED” about rendering.

I think intended behaviour should be like this, please correct me if I’m wrong. The checkbox actually enables/disables component?
comp

@pandamicro sorry i can’t go into detail but suffice it to say we cache assets and would need to if/else on a per game basis

on another note, can you tell me what happened to _ccsg class in 2.0? is it possible to access _ccsg.GraphicsNode() another way in 2.0?

@pandamicro when can we expect v2.0.1? Any estimated release date?

Coz I am thinking about upgrading to 2.x but 2.0 seems to be with too many bugs.

Hi,
I would like to ask if there were some changes made to CocosCreator v2.0, regarding cocos2d::Director::getInstance().

I notice that upon comparing between CocosCreator 1.x and CocosCreator 2.x, some changes are as follows:

  1. Most of the function calls using Director::getInstance() was changed to Application::getInstance()
  2. A lot of function calls that utilize cocos2d::Director::getInstance() were removed/commented.

If the above case is true, what would be the best way to migrate function calls that depend on cocos2d::Director::getInstance() to Application::getInstance()

I tried to include the following header file

#include "base/CCScheduler.h"
#include "base/CCThreadPool.h"
#include "platform/CCApplication.h"

#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID
#include "platform/android/jni/JniImp.h"
#endif

but it seems that the compiler still marks ‘Application’ has not been declared.

This is in line with the problem I encountered with SDKBox

Thanks in advance.

@yinjimmy thoughts? Or should we ask @jare

Hi,
I would like to thank @yinjimmy for fixing the problem in SDKBox with regards to the cocos2d::Director::getInstance() problem.

From the fix provided, it seems that the reason why I encountered some problems was I forgot to put the namespace of cococs2d when I tried calling Application::getInstance()

So the correct fix for CocosCreator 2.x would be:
From cocos2d::Director::getInstance() it will become cocos2d::Application::getInstance()

Make sure to include #include "platform/CCApplication.h"
Although I’m not 100% sure if you need to include #include "base/CCScheduler.h" as well.

hi,
I am using creator v2.1.0 and coding in javascript.
I want to execute some target(platform) specific code but don’t know how to do it. I couldn’t find anything online, and saw your post with the following c++(???) code :

#include “base/CCScheduler.h”
#include “base/CCThreadPool.h”
#include “platform/CCApplication.h”

#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID
#include “platform/android/jni/JniImp.h”
#endif

now, the above technique doesn’t work in js, and I was wondering how to go about writing code for android in js.

I also tried :

if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) {
myCode;
}
thanks in advance.