Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.
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, macOS, Windows and Linux.
Cocos2d-x Framework Architecture:
Clone the repo from GitHub.
$ git clone https://github.com/cocos2d/cocos2d-x.git
After cloning the repo, please execute
download-deps.pyto download and install dependencies.
$ cd cocos2d-x cocos2d-x $ python download-deps.py
cocos2d-x $ git submodule update --init
Should set up environment before starting a new game or running tests
$ cd cocos2d-x $ ./setup.py $ source FILE_TO_SAVE_SYSTEM_VARIABLE
Should invoke this script if using linux system
$ cd cocos2d-x $ ./install-linux-deps.sh
$ cd cocos2d-x $ mkdir build $ cd build $ cocos run --proj-dir .. -p [mac|win32|android|linux|ios]
$ 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 $ mkdir build $ cd build $ cocos run --proj-dir .. -p [mac|win32|android|linux|ios]
You can also create a Lua project with
If need to debug program, then it is more convinent to use IDE to run and debug it. All platforms other than Android can use CMake to generate corresponding project file. Can refer to Detail CMake Guide for detail information.
For Android, the Android Studio project file lies in
PROJECT_DIR/proj.android. Can just use Android Studio to import the exsting project file.
You can help us spread the word about cocos2d-x! We would surely appreciate it!
cpp-testsproject. This project is our basis for testing. Use this project to learn how we implement the functionality of the engine. This project is located in cocos2d-x_root/build.
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?