Axmol Engine – A Multi-platform Engine for Desktop, XBOX (UWP) and Mobile games. (A radical fork of Cocos2d-x-4.0)
Go to file
minggo 54962ee509 LayerRadialGradient works on mac and iOS (#17826)
* LayerRadialGradient works on mac and iOS

* fix radius

* finish LayerRadialGradient and add test case

* use local coordinate in shader

* adjust function attributes

* implement getCenter()

* add some comments
2017-05-22 13:42:00 +08:00
build LayerRadialGradient works on mac and iOS (#17826) 2017-05-22 13:42:00 +08:00
cmake Refactor WebSocket to support SSL (wss) (#17172) 2017-01-19 13:55:14 +08:00
cocos LayerRadialGradient works on mac and iOS (#17826) 2017-05-22 13:42:00 +08:00
docs update v3.15 2017-04-14 13:45:32 +08:00
extensions [Win32,WinRT] Fix old bag, Manifest not save. (#17814) 2017-05-17 16:18:58 +08:00
external update 3rd party version to update luajit (#17783) 2017-05-05 15:19:48 +08:00
licenses Adds libmd5-rfc third-party library for calculating MD5 since the functions in <openssl/md5.h> aren’t exported in win10, plus <openssl/md5.h> seems to be private header. (#17625) 2017-04-01 11:43:17 +08:00
plugin@0fb74e5ad6 Update plugin lib ref 2016-01-19 09:45:00 +08:00
templates Allow extensions to work out of the box by default on Win32 C++ projects (#17787) 2017-05-08 10:17:38 +08:00
tests LayerRadialGradient works on mac and iOS (#17826) 2017-05-22 13:42:00 +08:00
tools [tolua]Lua bindings-generator support android-ndk-r9d android-ndk-r10d android-ndk-r10e (win32 support android-ndk-r9d android-ndk-r10d android-ndk-r10e android-ndk-r11c android-ndk-r13b android-ndk-r14b) (#17820) 2017-05-17 17:10:27 +08:00
web@2292d7d1d7 [ci skip]Fix JS test issues reported from QA (#17691) 2017-04-12 11:41:39 +08:00
.gitattributes fix line end in windows 2013-09-20 22:23:13 +08:00
.gitignore Compilation fix (#17209) 2017-02-04 09:46:32 +08:00
.gitmodules Update js bindings & js tests. 2015-05-05 10:50:19 +08:00
.travis.yml Refactor WebSocket to support SSL (wss) (#17172) 2017-01-19 13:55:14 +08:00
AUTHORS Update AUTHORS 2016-07-26 21:55:06 +08:00
CHANGELOG [ci skip]Changelog releasenote (#17695) 2017-04-13 14:36:00 +08:00
CMakeLists.txt Update license to 2017 (#17362) 2017-02-14 14:36:57 +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 Update README.md 2017-04-20 15:51:44 +08:00
download-deps.py do not use git command (#17679) 2017-04-10 17:07:08 +08:00
issue_template.md Fix minor typo in issue_template (#16672) 2016-10-11 09:30:18 +08:00
setup.py Change the implementation of checking NDK path on windows. 2016-06-23 17:09:07 +08:00

README.md

cocos2d-x

iOS Mac Linux Win32 Android Tizen
v3 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, Tizen, 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 Tizen

There are two ways to build and run Tizen project:

  • use coocs console(can not work on 32-bit Windows currently)
    cocos run -p tizen
    
  • use Tizen IDE, can refer to this doc for detail usage

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):
    • Transformation 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 7+
  • or Ubuntu 12.10+, CMake 2.6+
  • or Windows 7+, VS 2013+
  • Python 2.7.5
  • NDK r11+ is required to build Android games
  • Android Studio 2.3+ bo build Android games
  • Tizen SDK 2.3+ is required to build Tizen games
  • Windows Phone/Store 10.0 VS 2015
  • JRE or JDK 1.6+ is required for web publishing

Runtime Requirements

  • iOS 7.0+ for iPhone / iPad games
  • Android 2.3.3+ for Android games
  • Tizen 2.3+ or 2.4+ for Tizen games
  • Windows 10.0 for Windows Phone/Store 10.0 games
  • OS X v10.9+ 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 13
$ 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 13.

  • For Tizen

Please refer to this guide.

Learning Resources

Spreading the word!

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

See what we are planning!

You can see exactly what we are planning to do with the Cocos family of products.

Where to get help

Contributing to the Project

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

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

Contact us