Axmol Engine – A Multi-platform Engine for Desktop, XBOX (UWP) and Mobile games. (A radical fork of Cocos2d-x-4.0)
Go to file
Ricardo Quesada 27c8e5227d Adds xml support in UIRichText
Supported tags:
- <small>: makes the font 20% smaller
- <big>: makes the font 25% bigger
- <img src="" />: to add an image
- <font face="path to font" size="size" color="#00ffaa">: font
  attributes
- <i>: italics
- <b>: bold
- <u>: underline
- <del> strike-through
- </br>: new line

Also adds support for strikethrough, italics, bold and underlie to
`Label`

Contains tests for UIRichText and Label

Squashed commit of the following:

commit a0d6ae0513d40dbf414930210ab032a49d8984a0
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Jan 19 20:39:21 2016 -0800

    cleanup LabelTestNew

commit 0cf423af85d88a42fc1317207feeb3d05da7f8ab
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Jan 19 20:34:53 2016 -0800

    adds maaaany tests

    ...and fixes width and height in <img src="">

commit e8ba6acd5d79bbc766d7aa02ef166e166c801d01
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Fri Jan 15 19:41:37 2016 -0800

    Label + URL working Ok

commit 36689e29ee3d77310e92264a09084cc06e30664c
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Fri Jan 15 18:24:44 2016 -0800

    adding this code just in case...

    ... should use a listener component instead

commit af03708950e74483b875d0baad593aa6ed242a04
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Thu Jan 14 20:23:36 2016 -0800

    URL node

    plus <de><u> and <a img

commit e3a4930b012c0b3756752dac6ffb5ad43d24ae99
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Jan 13 18:42:18 2016 -0800

    strikethrough and underline implemented

    they support multiline and horizontal alignment as well
    includes test
    however vertical alignment might not work

commit 640ccf39f56e153db46785a61be7000e898174c7
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Jan 12 18:14:57 2016 -0800

    bug fixes

commit 5e41fb76e91c571639585a609a255eb41797a302
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Jan 12 16:47:20 2016 -0800

    adds italics and bold "disable test"

commit 202c5a45bb9c8ea160b9f6880ef858874e07814b
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Jan 12 14:40:13 2016 -0800

    adds italics test

commit d1a8b421445053cc36860fc376f52692a3672dfe
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Jan 11 20:53:23 2016 -0800

    italics is working ok

commit fdd02087fce920c27c2409301ec88685fe68085b
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Fri Jan 8 17:18:56 2016 -0800

    color, size and face working

commit c01bdef6b1d49f8805b69d4c162b74cd00c8f5b3
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Thu Jan 7 19:02:16 2016 -0800

    initial commit
2016-01-19 20:41:31 -08:00
build Merge branch 'v3_js_fixes_squashed' of github.com:ricardoquesada/cocos2d-x into v3_js_fixes_squashed 2015-12-29 18:30:25 -08:00
cmake AudioEngine:Linux: implementation using FMOD, refactor to SimpleAudioEngine now as wrapper of AUdioEngine, upgrade FMOD binaries 2015-11-26 22:22:05 -05:00
cocos Adds xml support in UIRichText 2016-01-19 20:41:31 -08:00
docs [ci skip]Update RELEASE_NOTES. 2016-01-06 09:50:00 +08:00
extensions Merge branch 'v3.10' of github.com:cocos2d/cocos2d-x into v3 2015-12-20 22:56:33 +08:00
external Upgrade spider monkey to solve win32 js project crash issue 2015-12-14 10:27:11 +08:00
licenses Add the PolySprite support and adjust the project setting on the different platform 2015-04-23 00:51:47 +08:00
plugin@0fb74e5ad6 Update plugin lib ref 2016-01-19 09:45:00 +08:00
templates Merge pull request #14810 from GuoLunHao/v3.10_templates 2015-12-30 11:39:00 +08:00
tests Adds xml support in UIRichText 2016-01-19 20:41:31 -08:00
tools Merge pull request #14340 from fnz/easyjni 2016-01-12 11:50:16 +08:00
web@8586470e65 Update cocos2d-js web submodule to latest. 2016-01-04 10:09:09 +08:00
.gitattributes fix line end in windows 2013-09-20 22:23:13 +08:00
.gitignore ignore VS2015 .opendb files 2015-12-09 17:25:16 -08:00
.gitmodules Update js bindings & js tests. 2015-05-05 10:50:19 +08:00
.travis.yml Auto generate bindings for v3.10 2015-12-15 10:44:18 +08:00
AUTHORS Merge branch 'v3.10' of https://github.com/cocos2d/cocos2d-x into v3 2016-01-09 18:01:56 +08:00
CHANGELOG Merge branch 'v3.10' of https://github.com/cocos2d/cocos2d-x into v3 2016-01-09 18:01:56 +08:00
CMakeLists.txt Update version number to v3.10 2015-12-14 10:32:29 +08:00
CONTRIBUTING.md rename contribute.md to contributing.md 2015-08-28 14:10:41 +08:00
README.cmake fixes types in readme 2014-11-05 10:26:46 -08:00
README.md Added License under Contributing 2016-01-04 14:48:40 -05:00
download-deps.py Fix two issues with download-deps.py 2015-06-11 23:48:20 +02:00
setup.py add quiet option for Cocos Toolkit 2015-12-10 17:20:43 +08:00

README.md

cocos2d-x

iOS Mac Linux Win32 Android Win8.1-Universal
v3 Build Status Build Status Build Status Build Status Build Status Build Status
v4 Build Status Build Status Build Status Build Status Build Status Build Status

cocos2d-x is a multi-platform framework for building 2d games, interactive books, demos and other graphical applications. It is based on cocos2d-iphone, but instead of using Objective-C, it uses C++. It works on iOS, Android, Windows Phone and Store Apps, OS X, Windows, Linux and Web platforms.

Cocos2d-x Framework Architecture:

cocos2d-x is:

  • Fast
  • Free
  • Easy to use
  • Community Supported

Git user attention

  1. Clone the repo from GitHub.

      $ git clone https://github.com/cocos2d/cocos2d-x.git
    
  2. After cloning the repo, please execute download-deps.py to download and install dependencies.

      $ cd cocos2d-x
      cocos2d-x $ python download-deps.py
    
  3. After running download-deps.py.

      cocos2d-x $ git submodule update --init
    

Download stable versions

How to start a new game

  1. Download the code from cocos2d download site
  2. Run setup.py
  3. Run the cocos script

Example:

$ cd cocos2d-x
$ ./setup.py
$ source FILE_TO_SAVE_SYSTEM_VARIABLE
$ cocos new MyGame -p com.your_company.mygame -l cpp -d NEW_PROJECTS_DIR
$ cd NEW_PROJECTS_DIR/MyGame

You can also create a JS project or Lua project with -l js or -l lua.

Build and run a new project for Android

$ cocos run -p android -j 4

Build and run a new project for iOS

$ cocos run -p ios

Build and run a new project for OSX

$ cocos run -p mac

Build and run a new project for Linux

If you never run cocos2d-x on Linux, you need to install all dependencies by the script in cocos2d/build/install-deps-linux.sh

$ cd cocos2d-x/build
$ ./install-deps-linux.sh

Then

$ cd NEW_PROJECTS_DIR/MyGame
$ cocos run -p linux

Run

$ bin/MyGame

Build and run new project for win32

$ cocos run -p win32

Build and run new project for Windows 8.1/10.0 and Windows Phone 8.1/10.0

$ cocos new MyGame -p com.your_company.mygame -l cpp -d projects
  • Visual Studio 2013 Update 4 or later is required for Windows 8.1 Universal Apps

  • Visual Studio 2015 (Release version) and Windows 10.0 (Release version) are required for Windows 10.0 Universal Windows Platform (UWP) Apps. RC versions of Visual Studio and Windows 10 are no longer supported.

Starting with Cocos2d-x v3.3, you can create Windows 8.1 Universal Apps (Windows Store and Windows Phone 8.1). Starting with Cocos2d-x v3.8 you can create Windows 10.0 UWP Apps (Windows Store and Windows Phone 10.0). Starting with Cocos2d-x v3.6 there will no longer be support for Windows Phone 8.0.

See more info on How to install and Create games on Windows RT (Windows and Windows Phone 8.1) at http://msopentech.github.io/cocos2d-x/

Build and run new project for web

Only JS project can be published to web platforms, so you will need to create a JS project first:

$ cocos new -l js WebGame

Then you can run your game in a web browser:

$ cocos run -p web

Or you can publish your game to publish/html5/ folder:

$ cocos run -p web -m release [--advanced]

Documentations and samples

Main features

  • Scene management (workflow)
  • Transitions between scenes
  • Sprites and Sprite Sheets
  • Effects: Lens, Ripple, Waves, Liquid, etc.
  • Actions (behaviours):
    • Trasformation Actions: Move, Rotate, Scale, Fade, Tint, etc.
    • Composable actions: Sequence, Spawn, Repeat, Reverse
    • Ease Actions: Exp, Sin, Cubic, Elastic, etc.
    • Misc actions: CallFunc, OrbitCamera, Follow, Tween
  • Basic menus and buttons
  • Integrated with physics engines: Box2d and Chipmunk
  • Particle system
  • Skeleton Animations: Spine and Armature support
  • Fonts:
    • Fast font rendering using Fixed and Variable width fonts
    • Support for .ttf fonts
  • Tile Map support: Orthogonal, Isometric and Hexagonal
  • Parallax scrolling
  • Motion Streak
  • Render To Texture
  • Touch/Accelerometer on mobile devices
  • Touch/Mouse/Keyboard on desktop
  • Sound Engine support (CocosDenshion library) based on OpenAL
  • Integrated Slow motion/Fast forward
  • Fast and compressed textures: PVR compressed and uncompressed textures, ETC1 compressed textures, and more
  • Resolution Independent
  • Language: C++, with Lua and JavaScript bindings
  • Open Source Commercial Friendly(MIT): Compatible with open and closed source projects
  • OpenGL ES 2.0 (mobile) / OpenGL 2.1 (desktop) based

Build Requirements

  • Mac OS X 10.7+, Xcode 5.1+
  • or Ubuntu 12.10+, CMake 2.6+
  • or Windows 7+, VS 2013+
  • Python 2.7.5
  • NDK r10c+ is required to build Android games
  • Windows Phone/Store 8.1 VS 2013 Update 4+ or VS 2015
  • Windows Phone/Store 10.0 VS 2015
  • JRE or JDK 1.6+ is required for web publishing

Runtime Requirements

  • iOS 6.0+ for iPhone / iPad games
  • Android 2.3+ for Android games
  • Windows 8.1 or Windows 10.0 for Windows Phone/Store 8.1 games
  • Windows 10.0 for Windows Phone/Store 10.0 games
  • OS X v10.6+ for Mac games
  • Windows 7+ for Win games
  • Modern browsers and IE 9+ for web games

Running Tests

Select the test you want from Xcode Scheme chooser.

  • Cocos Console
// Enter cpp test folder
cd tests/cpp-tests
// Or enter js test folder
cd tests/js-tests
// Or enter lua test folder
cd tests/lua-tests

// Compile or run test case
cocos compile -p ios|mac|android|win32|win8_1|metro|web -m debug|release
cocos run -p ios|mac|android|win32|win8_1|metro|web -m debug|release
  • For OS X / iOS
$ cd cocos2d-x/build
$ open cocos2d_tests.xcodeproj
  • For Linux
$ cd cocos2d-x/build
$ ./install-deps-linux.sh
$ cmake ..
$ make

Run Samples

$ bin/cpp-empty-test/cpp-empty-test
or
$ bin/lua-empty-test/lua-empty-test
  You may meet building errors when building libGLFW.so. It is because libGL.so directs to an error target,
  you should make it to direct to a correct one. `install-deps-linux.sh` only has to be run once.
  • For Windows

Open the cocos2d-x/build/cocos2d-win32.sln

  • For Windows 8.1 Universal Apps (Phone and Store)

Open the cocos2d-x/build/cocos2d-win8.1-universal.sln

  • For Windows 10.0 Universal Windows Platform (UWP) Apps (Phone and Store)

Open the cocos2d-x/build/cocos2d-win10.sln

  • For Android
$ cd cocos2d-x/build
$ python ./android-build.py cpp-empty-test -p 10
$ adb install ../tests/cpp-empty-test/proj.android/bin/CppEmptyTest-debug.apk

Then click item on Android device to run tests. Available value of -p is the API level, cocos2d-x supports from level 10.

Learning Resources

Spreading the word!

You can help us spread the word about cocos2d-x! We would surely appreciate it!

Where to get help

Contributing to the Project

Cocos2d-x is licensed under the MIT License. We welcome paricipation!

Did you find a bug? Do you have feature request? Do you want to merge a feature?

Contact us