Axmol Engine – A Multi-platform Engine for Desktop, XBOX (UWP) and Mobile games. (A radical fork of Cocos2d-x-4.0)
Go to file
geron-cn ede4651b5e add blendfunc Frame test case 2015-08-20 11:29:52 +08:00
build Fix gamenode3d parse failed error 2015-08-17 22:42:21 +08:00
cmake fix building with system prebuilt libs 2015-07-22 14:19:22 +01:00
cocos Fixed #12570: Correct `cc.pIsSegmentIntersect` for lua 2015-08-19 16:21:31 +08:00
docs Merge branch 'v3.7.1' into v3 2015-08-12 17:59:50 +08:00
extensions Merge pull request #13398 from perminovVS/v3-dev-use-more-get-file-extension 2015-08-18 17:27:11 +08:00
external update version to v3-deps-72 2015-08-17 18:36:47 -07:00
licenses Add the PolySprite support and adjust the project setting on the different platform 2015-04-23 00:51:47 +08:00
plugin@ad539b56c5 Update versions 2015-06-19 09:56:19 +08:00
templates Merge pull request #13462 from MSOpenTech/v3-winrt-fix 2015-08-19 13:39:16 +08:00
tests add blendfunc Frame test case 2015-08-20 11:29:52 +08:00
tools Made travis run for v3.8 2015-08-18 10:17:44 +08:00
web@5d123ed296 Update Web Index 2015-08-18 14:39:15 +08:00
.gitattributes fix line end in windows 2013-09-20 22:23:13 +08:00
.gitignore fix tons of warnings 2015-07-15 12:04:48 +08:00
.gitmodules Update js bindings & js tests. 2015-05-05 10:50:19 +08:00
.travis.yml Made travis run for v3.8 2015-08-18 10:17:44 +08:00
AUTHORS Merge branch 'v3.7.1' into v3 2015-08-12 17:59:50 +08:00
CHANGELOG Update release docs for v3.7.1 2015-08-12 13:02:35 +08:00
CMakeLists.txt Merge branch 'v3.7.1' of https://github.com/cocos2d/cocos2d-x into v3 2015-08-02 22:28:27 +08:00
README.cmake fixes types in readme 2014-11-05 10:26:46 -08:00
README.md Add framework architecture figure to README 2015-07-28 17:31:14 +08:00
download-deps.py Fix two issues with download-deps.py 2015-06-11 23:48:20 +02:00
setup.py Solve the environment conflict with Cocos. 2014-12-11 11:14:30 +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 RC and Windows 10.0 (build 10074 or higher) is required for Windows 10.0 UWP Apps

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.6 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+
  • JRE or JDK 1.6+ is required for web publishing

Runtime Requirements

  • iOS 5.0+ for iPhone / iPad games
  • Android 2.3+ for Android games
  • Windows 8.1 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 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.

Contributing to the Project

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

Contact us