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, OS X, Windows, Linux, Emscripten, Google Native Client, BlackBerry and Tizen.
cocos2d-x is:
- Fast
- Free
- Easy to use
- Community Supported
How to start a new game
- Download the code from cocos2d download site
- Enter
tools/project-creator
- Run the
create_project.py
script
Example:
$ cd cocos2d-x/tools/project-creator
$ ./create_project.py -n mygame -k com.your_company.mygame -l cpp -p /home/mygame
$ cd /home/mygame
Build new project for android
$ cd proj.android
$ ./build_native.py
Build new project for ios & osx
- Enter proj.ios_mac folder, open mygame.xcodeproj
- Select ios or osx targets in scheme toolbar
Build new project for linux
if you never run cocos2d-x on linux, you need to install all dependences by the script in cocos2d/build/install-deps-linux.sh
$ cd cocos2d/build
$ ./install-deps-linux.sh
$ ../..
Then
$ mkdir build
$ cd build
$ cmake ..
$ make -j4
Run
$ bin/mygame
Build new project for win32
- Enter proj.win32, open mygame.sln by vs2012
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 Independence
- Language: C++, with Lua and JavaScript bindings
- Open Source Commercial Friendly: 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 4.6+
- or Ubuntu 12.10+, CMake 2.6+
- or Windows 7+, VS 2012+
Runtime Requirements
- iOS 5.0+ for iPhone / iPad games
- Android 2.3+ for Android games
- OS X v10.6+ for Mac games
- Windows 7+ for Win games
Running Tests
Select the test you want from Xcode Scheme chooser.
- For OS X / iOS
$ cd cocos2d-x/build
$ open samples.xcodeproj
- For Linux
$ cd cocos2d-x/build
$ ./install-deps-linux.sh
$ cmake ..
$ make
Run Samples
$ bin/hellocpp/hellocpp
or
$ bin/testlua/testlua
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 hellocpp
Import HelloCpp Android project using Eclipse(released with Android SDK). The path to be imported is cocos2d-x/samples/Cpp/HelloCpp/proj.android
.
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)