Cocos2d-JS v3.2 RC0 is arrived ! Efficient and reliable!

I’m excited to announce that Cocos2d-JS v3.2 RC0 is now available.

As you already know, Cocos2d-JS v3.1 have provided a new renderer architecture, in v3.2, we have done our best to polish the architecture design and stabilized the new renderer. Now the architecture level refactorization is complete, it improved again the performance, and it will make future improvement much easier.

A brief introduction of Cocos2d-JS

Cocos2d-JS is Cocos2d-x engine’s JavaScript version that includes Cocos2d-html5 and Cocos2d-x JavaScript Bindings. It equips your game with cross-browser and cross-platform abilities, accompanied by full Cocos2d-x features and simplified JavaScript friendly APIs.

Cocos2d-JS reinvented workflows for all platforms, it provides a consistent development experience for whichever platform you want to distribute to, no matter web and native. “Code once, run everywhere” is incredibly easy and natural in Cocos2d-JS. This will bring your game great opportunities in almost all channels of distribution.

Furthermore, JavaScript friendly APIs make your game development experience a breeze - easy to code, test and distribute. In the meantime, Cocos2d-JS is super powerful along with all these cool new features: Editors Support, Assets Manager, Object Pool, JS to Objective-C/JAVA reflection, etc.

Highlights

  • Refactoration of web engine by separating the render logic, the arthictecture level refactoration is now completed and brounght great performance improvement, especially on mobile browsers.
  • Refactoration of web engine’s resolution adaptation and audio engine with polyfilled adaptation logics for different devices and browsers. This ensures better compatibility and better extensibility for future needs.
  • Supported modulization for JSB, developers can comment out the bindings registration code then the corresponded module will be excluded in the final package. Minimum package size for android is now 4.4mb. The usage is described in the upgrade guide.
  • Added restart game feature and fixed crutial bugs in AssetsManager, developers can now easily update assets and scripts, new scripts can take effect directly with a restart.
  • Bound all missed chipmunk API in JSB, this greatly improved physics game support in Cocos2d-JS.

Notice

For JSB build, there are some restrictions :

  • [Android build] Suggested NDK version is r10c, if you don’t need Android 5.0 compatibility, you can also use r9d, other NDKs are not supported.
  • [iOS build] Xcode version must be 5.1.1 +
  • [Web code obfuscation] JRE or JDK version must be 1.6 or 1.7

Download

Workflows

  • Cross platforms developers can use Cocos Console to create projects, boost their development with web version engine and deploy games onto all native platforms and all browsers with Cocos Console.

  • Casual web game developers can download the Lite Version and start to develop just like using other web frameworks (e.g. jQuery).

More information

Read more about all the features and bug fixes

Upgrade your project from previous versions

If you want to upgrade your game based on v3.0 previous version to the v3.2 RC0 version, you should follow these steps:

  1. Download the Cocos2d-JS v3.2 RC0 package.
  2. Upgrade cocos command with setup.py.
  3. Create a new project with cocos new command.
  4. Replace the “src”, “res”, “index.html”, “project.json”, “main.js” etc with your old project.
  5. Then you may need to refer to the upgrade guide to solve some API change issues.

About Cocos2d family

  • Cocos2d-JS v3.2 RC0 uses Cocos2d-x v3.3rc1 as base of JSB solution
  • Cocos2d-JS v3.2 is compatible with Cocos Code IDE v1.1.0
  • Cocos2d-JS v3.2 is compatible with Cocos Studio v1.2 - v1.6, Cocos Studio 2 support have been removed because flat buffer binary file can’t be parsed in JS, we will support Cocos Studio 2 in v3.3 with a JSON format parser.

With any problems you might have, our communities are happy to help:

And one more thing, the v3.2 final will be your present of Christmas.

4 Likes

So great to hear the arrival of Cocos2d-JS v3.2!

After update from v3.1 to v3.2, the performance to load online resources with

cc.loader.loadImg

is incredible fast! Good job!

But when cc.loader.loadImg sending the request to server, it still blocking the main thread which cause the app unresponsive until all the request finish send.

Is there any way to solve this problem like multi thread?

Thanks!

Update is cheers for good work !

I am developing a game app using mainly Cocos-JS3.0 in Japan .

In cocos2d-JS version 3.2 , can I use the Sprite3D?

Where can we download 1.1.0 ? Or maybe it is working with 1.0.2 as well ?
But good gift for us, thanks :wink:

@a_fuji Thanks

However, the 3d feature haven’t been bound to JSB yet, it’s planed before 3.4, please stay tuned.

Please wait one day or two, IDE team will release 1.1.0 very soon.

Thanks for answers!

I am looking forward to the completion .

Hi There…
Since upgrading to 3.2rc0 my app crash on android when it is launching…
This is the log…

I/ActivityManager(  336): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.drawnintocode.tgv/org.cocos2dx.javascript.AppActivity} from pid 20463
I/ActivityManager(  336): Start proc com.drawnintocode.tgv for activity com.drawnintocode.tgv/org.cocos2dx.javascript.AppActivity: pid=20478 uid=10069 gids={50069, 3003, 1015, 1028}
D/dalvikvm(20478): Trying to load lib /data/app-lib/com.drawnintocode.tgv-1/libcocos2djs.so 0x41229330
E/dalvikvm(20478): dlopen("/data/app-lib/com.drawnintocode.tgv-1/libcocos2djs.so") failed: Cannot load library: soinfo_relocate(linker.cpp:975): cannot locate symbol "atof" referenced by "libcocos2djs.so"...
E/AndroidRuntime(20478): java.lang.UnsatisfiedLinkError: Cannot load library: soinfo_relocate(linker.cpp:975): cannot locate symbol "atof" referenced by "libcocos2djs.so"...
E/AndroidRuntime(20478): 	at org.cocos2dx.lib.Cocos2dxActivity.onLoadNativeLibraries(Cocos2dxActivity.java:85)
E/AndroidRuntime(20478): 	at org.cocos2dx.lib.Cocos2dxActivity.onCreate(Cocos2dxActivity.java:99)
E/AndroidRuntime(20478): 	at org.cocos2dx.javascript.AppActivity.onCreate(AppActivity.java:47)
W/ActivityManager(  336):   Force finishing activity com.drawnintocode.tgv/org.cocos2dx.javascript.AppActivity
W/ActivityManager(  336): Activity pause timeout for ActivityRecord{412442a8 u0 com.drawnintocode.tgv/org.cocos2dx.javascript.AppActivity}
I/ActivityManager(  336): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.drawnintocode.tgv/org.cocos2dx.javascript.AppActivity} from pid 549
I/ActivityManager(  336): Start proc com.drawnintocode.tgv for activity com.drawnintocode.tgv/org.cocos2dx.javascript.AppActivity: pid=20521 uid=10069 gids={50069, 3003, 1015, 1028}
D/dalvikvm(20521): Trying to load lib /data/app-lib/com.drawnintocode.tgv-1/libcocos2djs.so 0x4122a0a0
E/dalvikvm(20521): dlopen("/data/app-lib/com.drawnintocode.tgv-1/libcocos2djs.so") failed: Cannot load library: soinfo_relocate(linker.cpp:975): cannot locate symbol "atof" referenced by "libcocos2djs.so"...
E/AndroidRuntime(20521): java.lang.UnsatisfiedLinkError: Cannot load library: soinfo_relocate(linker.cpp:975): cannot locate symbol "atof" referenced by "libcocos2djs.so"...
E/AndroidRuntime(20521): 	at org.cocos2dx.lib.Cocos2dxActivity.onLoadNativeLibraries(Cocos2dxActivity.java:85)
E/AndroidRuntime(20521): 	at org.cocos2dx.lib.Cocos2dxActivity.onCreate(Cocos2dxActivity.java:99)
E/AndroidRuntime(20521): 	at org.cocos2dx.javascript.AppActivity.onCreate(AppActivity.java:47)
W/ActivityManager(  336):   Force finishing activity com.drawnintocode.tgv/org.cocos2dx.javascript.AppActivity
W/ActivityManager(  336): Activity pause timeout for ActivityRecord{41244400 u0 com.drawnintocode.tgv/org.cocos2dx.javascript.AppActivity}

i am using ndk r10c

Hi, @tipsycoder

Can you describe how to reproduce this issue ?

I already created a topic about it and user advice me to manual place the function in a source file.
Anyhow, i am using

  • cocos code ide 1.0.2
  • NDK r10c
  • Targeting Android 21 API

the runtime is built successfully, so i test it on my real device which is Jelly Bean. That is where the problem arise.
i went bk to ndk r9d and it run fine…

So i did some internet searching and realize that it wud work on device running on Android L but not below.

In fact, v3.2 works best with Code IDE 1.1.0 which is released today:

http://www.cocos2d-x.org/news/388

You may want to test it out, it will solve your problem of compilation

Nice, I will try both.

Thank you Cocos Team.

Could someone please take a look at my topic? I can’t build 3.2 RC0 for Android…

I have issues with ScrollView on this version? rolling back to 3.1

@siauw hat kind of issue ? Can you tell us more about it ?

I haven’t looked deep into the problem since I don’t have the time to do it.

It seems like all the children of Layout in ScrollView not get scrolled when I touch down and move the scrollview, but gets updated after touch up event later.

Is there code changes in Layout or ScrollView?

note : I’m using lots of layout trees in my ScrollView.

Hi @siauw
Could tell us which platform the problem has? web or native?

And how to reproduce the problem?

Yes, There are some changes in ccui.Layout and scrollView for performance.

Thanks for your feedback.
David

I was just trying for html5 only, I haven’t tried on native

This is how I structured my Scrollview contents :
Scrollview -> Layout -> Layout(s) -> Image(s), Button(s)

I will give some codes later. I will have to tidy up my codes a little :smile:
But that’s how I get to the issue.

Hope that helps

OK, @siauw,

I’ll test it by your steps.