Cocos2d-x v3.14 released!

We are happy to announce the release of Cocos2d-x v3.14! Dare I say Cocos2d-x Pi? :slight_smile:

This release brings bug fixes and API maintenance, as well as these highlights:

  • [NEW] Add Spine binary file format support
  • [NEW] Action: add a method to get the number of actions running in a given node with specific tag
  • [NEW] Action: new actions: ResizeBy and ResizeTo
  • [NEW] Button: can set title label
  • [NEW] Can disable multi touch on Android
  • [NEW] EventDispatcher: Add hasEventListener to check listener existance
  • [NEW] EditBox: add horizontal text alignment
  • [NEW] EventDispatcher: added hasEvent() to check if an event is added
  • [NEW] Sprite: support slice9 feature
  • [NEW] Slider: add methods to get _slidBallNormalRenderer
  • [NEW] Desktop: add a method to toggle between fullscreen and windowed
  • [NEW] Desktop: add events for window resize, focus and unfocus
  • [NEW] Mac: supports game controller
  • [NEW] JSB: add cc.sys.now() and perfromance.now(), the last one is more accurate
  • [NEW] Lua: add cc.vec3 functions: add, sub and dot
  • [NEW] Lua: use luajit 2.1.0-beta2
  • [NEW] Web: Add cc.CONCURRENCY_HTTP_REQUEST_COUNT to control max concurrent task count for XMLHttpRequest

v3.14.1 fixes:

  • [FIX] May crash if using Scene::createWithPhysics() to create a scene and physics3d camera is not set
  • [FIX] May have link error because of glfw conflict on Linux
  • [FIX] Sprite: created from sprite frame with polygon information can not work correctly
  • [FIX] Lua: link error with VS2015
  • [FIX] Lua: compiling error if using cocos compile/run -p android --android-studio on Android

Read the full release notes.
Download it today!

17 Likes

Great, thanks very much.

seems to be error on running cocos run -p tizen on mac
Building mode: debug


Finished building: …/Classes/AppDelegate.cpp
Building target: Debug/hellocpp
Invoking: C/C++ Linker
/Users/sridher/Apps/tizen-studio/tools/smart-build-interface/…/i386-linux-gnueabi-gcc-4.9/bin/i386-linux-gnueabi-g++ -o ./Debug/hellocpp ./Debug/x86/objs/src/main.o ./Debug/x86/objs/~dtdt~/Classes/HelloWorldScene.o ./Debug/x86/objs/~dtdt~/Classes/AppDelegate.o -L/private/tmp/WildGoat/proj.tizen/…/cocos2d/build/tizen/Debug/x86 -L/private/tmp/WildGoat/proj.tizen/…/cocos2d/external/chipmunk/prebuilt/tizen/x86 -L/private/tmp/WildGoat/proj.tizen/…/cocos2d/external/jpeg/prebuilt/tizen/x86 -L/private/tmp/WildGoat/proj.tizen/…/cocos2d/external/png/prebuilt/tizen/x86 -L/private/tmp/WildGoat/proj.tizen/…/cocos2d/external/tiff/prebuilt/tizen/x86 -L/private/tmp/WildGoat/proj.tizen/…/cocos2d/external/webp/prebuilt/tizen/x86 -L/private/tmp/WildGoat/proj.tizen/…/cocos2d/external/websockets/prebuilt/tizen/x86 -Xlinker --as-needed -lcocos2dx -lwebsockets -lchipmunk -lpng -ljpeg -ltiff -lwebp -L"/private/tmp/WildGoat/proj.tizen/lib" -Wl,–no-undefined -Xlinker --as-needed -pie -lpthread --sysroot="/Users/sridher/Apps/tizen-studio/tools/smart-build-interface/…/…/platforms/tizen-2.4/mobile/rootstraps/mobile-2.4-emulator.core" -Xlinker --version-script="./.exportMap" -L/Users/sridher/Apps/tizen-studio/tools/smart-build-interface/…/…/platforms/tizen-2.4/mobile/rootstraps/mobile-2.4-emulator.core/usr/lib -lBrokenLocale -laccounts-svc -lanl -lappcore-agent -lattach-panel -lbadge -lbase-utils-i18n -lbundle -lcairo -lcalendar-service2 -lcapi-appfw-alarm -lcapi-appfw-app-common -lcapi-appfw-app-control -lcapi-appfw-application -lcapi-appfw-app-manager -lcapi-appfw-event -lcapi-appfw-package-manager -lcapi-appfw-preference -lcapi-appfw-widget-application -lcapi-base-common -lcapi-content-media-content -lcapi-content-mime-type -lcapi-data-control -lcapi-geofence-manager -lcapi-location-manager -lcapi-maps-service -lcapi-media-audio-io -lcapi-media-camera -lcapi-media-codec -lcapi-media-controller -lcapi-media-image-util -lcapi-media-metadata-editor -lcapi-media-metadata-extractor -lcapi-media-player -lcapi-media-radio -lcapi-media-recorder -lcapi-media-screen-mirroring -lcapi-media-sound-manager -lcapi-media-thumbnail-util -lcapi-media-tone-player -lcapi-media-tool -lcapi-media-video-util -lcapi-media-vision -lcapi-media-wav-player -lcapi-message-port -lcapi-messaging-email -lcapi-messaging-messages -lcapi-network-bluetooth -lcapi-network-connection -lcapi-network-nfc -lcapi-network-smartcard -lcapi-network-wifi -lcapi-system-device -lcapi-system-info -lcapi-system-media-key -lcapi-system-runtime-info -lcapi-system-sensor -lcapi-system-system-settings -lcapi-telephony -lcapi-ui-efl-util -lcapi-ui-inputmethod-manager -lcapi-ui-inputmethod -lcapi-web-url-download -lcidn -lcontacts-service2 -lcontext -lcore-context-manager -lcore-sync-client -lcrypto -lcrypt -lc -lcurl -ldali-adaptor -ldali-core -ldali-toolkit -ldlog -ldl -lebluez -leconnman0_7x -lecore_buffer -lecore_con -lecore_evas -lecore_file -lecore_imf_evas -lecore_imf -lecore_input_evas -lecore_input -lecore_ipc -lecore -lecore_x -ledbus -ledje -leet -lefl-extension -lefreet_mime -lefreet -lefreet_trash -lehal -leina -leio -lelementary -lembryo -lenotify -leofono -leom -leo -lethumb_client -lethumb -leukit -levas -lewebkit2 -lexif -lfeedback -lfontconfig -lfreetype -lgio-2.0 -lglib-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lharfbuzz-icu -lharfbuzz -ljson-glib-1.0 -lkey-manager-client -lminicontrol-provider -lminicontrol-viewer -lminizip -lm -lnotification -lnsl -lnss_compat -lnss_dns -lnss_files -lnss_hesiod -lnss_nisplus -lnss_nis -loauth2 -loauth -lopenal -lphonenumber-utils -lprivilege-info -lpthread -lpush -lresolv -lrt -lservice-adaptor-client -lshortcut -lsqlite3 -lssl -lstorage -lstt -ltbm -lthread_db -lttrace -ltts -lutil -lvc-elm -lvc -lwidget_service -lwidget_viewer_evas -lwifi-direct -lxml2 -lz -Xlinker -rpath="/opt/usr/apps/com.ipleanty.wildgoat/lib" -Werror-implicit-function-declaration
/private/tmp/WildGoat/proj.tizen/…/cocos2d/build/tizen/Debug/x86/libcocos2dx.a: could not read symbols: Archive has no index; run ranlib to add one
collect2: error: ld returned 1 exit status
make[1]: *** [Debug/hellocpp] Error 1
make: *** [app_build] Error 2
Total time: 00:00:28.031

1 Like

Also something wrong with JS version:

cocos2d: fullPathForFilename: No file found at script/jsb_prepare.jsc. Possible missing file.
cocos2d: fullPathForFilename: No file found at script/jsb_boot.jsc. Possible missing file.
(evaluatedOK == JS_FALSE)
JS: /Users/js/Library/Developer/CoreSimulator/Devices/0B21F130-0C9E-4DD1-9E75-152E4A151D07/data/Containers/Bundle/Application/39A47893-FEF2-4D4D-ACDE-FB0C29CEFC53/testjs-mobile.app/script/ccui/jsb_cocos2d_ui.js:156:TypeError: cc.EditBox is undefined

(evaluatedOK == JS_FALSE)
Evaluating main.js failed (evaluatedOK == JS_FALSE)

Great work… 2 questions. :stuck_out_tongue:

How will it be different from ScaleTo and ScaleBy?

Can you please also add working in PG

:slight_smile:

1 Like

Good question, let me find out.

Can you elaborate more for the engineering team? How/when do you see this?

And this looks awesome :smiley: 3.14 PI

Also, why is it Polished, Stable and Increased Performance?
In the change logs, I see none of the changes related to them. Or did I miss something? :smiley: :stuck_out_tongue:

We always fix things internally. This is polish and each release is more stable than the previous…Increased performance is a by product :slight_smile: :slight_smile:

1 Like

The cocos new command is behaving strange for me with 3.14, but it seems like it’s only being strange when I attempt to create a new project with precompiled libraries (the -t binary option). For whatever reason, it’s assuming Cocos2d-x v3.14 is installed in the same directory as the Cocos app I downloaded and installed a while ago. Here’s what I’m seeing:

My environment variables, set by setup.py:
COCOS_CONSOLE_ROOT=/Library/cocos2d/cocos2d-x-3.14/tools/cocos2d-console/bin
COCOS_X_ROOT=/Library/cocos2d/cocos2d-x-3.14/tools/cocos2d-console/bin

My header search paths (in XCode build settings):
- /Applications/Cocos/Cocos2d-x/cocos2d-x-3.14
- /Applications/Cocos/Cocos2d-x/cocos2d-x-3.14/cocos/audio/include
- /Applications/Cocos/Cocos2d-x/cocos2d-x-3.14/cocos
- /Applications/Cocos/Cocos2d-x/cocos2d-x-3.14/extensions
- /Applications/Cocos/Cocos2d-x/cocos2d-x-3.14/external
- /Applications/Cocos/Cocos2d-x/cocos2d-x-3.14/external/chipmunk/include/chipmunk

There is no cocos2d-x-3.14 directory in the Applications/Cocos directory, that’s not where I installed 3.14. This obviously leads to compilation errors (it can’t find cocos2d.h). I’ve searched all of my environment variables, nothing is pointing to /Applications/Cocos, so I’m not sure where that’s coming from. Also, I ran the setup.py program from v3.14 and sourced my bash_profile file before building the building the precompiled libraries template, and the cocos gen-libs command output my static libraries in the COCOS_X_ROOT directory. I’m at a loss as to what’s going on here. Sure, this seems like an easy fix to do (go in an modify the header searched paths and linked library paths) but I’d prefer to find a proper solution.

So, this is a problem. The Cocos GUI is EOL’d (although you can still download and use it, i do).

You can change those paths in XCode project settings and you should be fine.

-t binary was for use with Cocos Studio and that is EOL’d too.

We just talked about this last night in our weekly meeting and the consensus is that we may build a new GUI tool.

try this

cocos gen-templates

cocos gen-libs ....

cocos new ... -t binary

and then remove the Studio code that -t option puts in the project.

Sounds good, thanks for the explanation!

steps to duplicate:
1.) cocos new -p com.example.test -l js
2.) cocos run -p ios (running as web is OK)

issue found, I commented the two lines below, I thought I could do it as the test project was not using cocos studio and the related ui moudle.

// ui can be commented out to reduce the package, attention studio need ui module
sc->addRegisterCallback(register_all_cocos2dx_ui);
sc->addRegisterCallback(register_all_cocos2dx_ui_manual);

So here is the problem, what should I do to run the test project if I don’t want to use cocos studio or cocos creater.

ATM, you can only compile and run the Tizen project with Tizen IDE or Tizen Studio. The command line compilation and run is not supported yet because of the Tizen toolchain issue.

We have to wait the official solution to the command line toolchain.

@cocos2dxer002 how to reproduce it?

@catch_up You can can a look of this PR: https://github.com/cocos2d/cocos2d-x/pull/16275. ResizeBy and ResizeTo will change content size, which is good for slice9 feature. ScaleTo and ScaleBy will scale Node as a whole.

A big issue in JS 3.14 Version.

I create the issue https://github.com/cocos2d/cocos2d-html5/issues/3436

Please fix it

Thanks

Hi Everyone, can you help me?
I want to run cocos2d-js test in my iPhone.
When I run cocos run -p ios, it always run in simulator.
How can I run js test in my iPhone?

Thank you so much.

Best,

Thanks for the replay; This is a optional feature but useful for CI.
In linux it is compiling without errors so i expected on mac.

#cocos compile -p tizen

Building mode: debug
running: '/ComboDrive/Apps/tizen-studio/tools/ide/bin/tizen build-native -- "/tmp/WildGoat/cocos2d/build/tizen" -C Debug -a x86 -c gcc'
...........
............
Initialize... OK
Copying files... OK
Zip path: /tmp/WildGoat/proj.tizen/Debug/com.ipleanty.wildgoat-1.0.0-i386.tpk
  adding: bin/	(in=0) (out=0) (stored 0%)
  adding: bin/hellocpp ...	(in=33287852) (out=10843412) (deflated 67%)
  adding: res/	(in=0) (out=0) (stored 0%)
  adding: res/HelloWorld.png	(in=37864) (out=37867) (deflated 0%)
  adding: res/res/	(in=0) (out=0) (stored 0%)
  adding: res/res/.gitkeep	(in=0) (out=0) (stored 0%)
  adding: res/CloseSelected.png	(in=2810) (out=2810) (stored 0%)
  adding: res/CloseNormal.png	(in=3596) (out=3596) (stored 0%)
  adding: res/.gitkeep	(in=0) (out=0) (stored 0%)
  adding: res/fonts/	(in=0) (out=0) (stored 0%)
  adding: res/fonts/arial.ttf 	(in=778552) (out=431101) (deflated 45%)
  adding: res/fonts/Marker Felt.ttf	(in=25776) (out=16412) (deflated 36%)
  adding: shared/	(in=0) (out=0) (stored 0%)
  adding: shared/trusted/	(in=0) (out=0) (stored 0%)
  adding: shared/data/	(in=0) (out=0) (stored 0%)
  adding: shared/res/	(in=0) (out=0) (stored 0%)
  adding: shared/res/WildGoat.png	(in=23871) (out=23738) (deflated 1%)
  adding: tizen-manifest.xml	(in=401) (out=238) (deflated 41%)
total bytes=34160722, compressed=11359174 -> 67% savings
Zipping... OK
Package File Location: /tmp/WildGoat/proj.tizen/Debug/com.ipleanty.wildgoat-1.0.0-i386.tpk