cocos2d-x
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,OS X,Windows and Linux.
cocos2d-x is:
- Fast
- Free
- Easy to use
- Community Supported
Git user attention
clone the repo from GitHub.
$ git clone git@github.com:cocos2d/cocos2d-x.git
After cloning the repo,please execute
download-deps.py
to download and install dependencies.$ cd cocos2d-x $ python download-deps.py
After running
download-deps.py
.$ cd cocos2d-x $ git submodule update --init
How to start a new game
- Download the code from cocos2d download site
- Run
setup.py
- 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
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 and Windows Phone 8.1
$ cocos new MyGame -p com.bar.foo -l cpp -d projects
With the Cocos2d-x v3.3,you can create Universal App (Two projects at the same time: Windows(Tablet) and Windows Phone 8.1 )
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/
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 2012+
- Python 2.7.5
- NDK r9d is required to build Android games
- Windows Phone/Store 8.0 VS 2012+
- Windows Phone/Store 8.1 VS 2013 Update 3+
Runtime Requirements
- iOS 5.0+ for iPhone / iPad games
- Android 2.3+ for Android games
- Windows Phone 8 and 8.1 for Windows Phone games
- OS X v10.6+ for Mac games
- Windows 7+ for Win games
- Windows 8+ for WinRT games (Modern Apps)
Running Tests
Select the test you want from Xcode Scheme chooser.
- For OS X / iOS
$ cd cocos2d-x/build $ open cocos_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.vc2012.sln
- For Android
$ cd cocos2d-x/build $ python ./android-build.py cpp-empty-test -p 10 $ adb install ../tests/cpp-empty-tst/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
- Forum: http://forum.cocos2d-x.org
- Twitter: http://www.twitter.com/cocos2dx
- Weibo: http://t.sina.com.cn/cocos2dx
- IRC: https://webchat.freenode.net/ (#cocos2d and #cocos2d-x channels)