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:
- Easy to use
- Community supported
Git user attention
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
Download stable versions
How to start a new game
- Download the code from cocos2d download site
- Run the
$ 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
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
$ cd NEW_PROJECTS_DIR/MyGame $ cocos run -p linux
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
$ cocos run -p web -m release [--advanced]
Documentations and samples
- All Docs in a single place!
- Online API Reference Note that Cocos2d-x, Cocos2d-JS and Cocos Creator have different API set
- Programmers Guide
- Latest Release Note
- Cocos2d sample games More samples will be added in v3.8
- 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
- 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
- Open Source Commercial Friendly(MIT): Compatible with open and closed source projects
- OpenGL ES 2.0 (mobile) / OpenGL 2.1 (desktop) based
- 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 r11+ 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
- iOS 6.0+ for iPhone / iPad games
- Android 2.3.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
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
$ 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
- For Windows 8.1 Universal Apps (Phone and Store)
- For Windows 10.0 Universal Windows Platform (UWP) Apps (Phone and Store)
- 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.
- Programmers Guide
- Sonar Systems Videos
- Android Fundamentals
- Make School Tutorials
- Games From Scratch
- Cocos2d sample games
Spreading the word!
You can help us spread the word about cocos2d-x! We would surely appreciate it!
- Talk about us on Facebook! Our Facebook Page
- Tweet, Tweet! Our Twitter
- Read our Blog and promote it on your social media.
- Become a Regional Coordinator
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
- Bug Tracker
- IRC. We are in Freenode in the #cocos2d channel
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.
- API Reference.
- Latest Release Note
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?