A framework for building 2D games, demos, and other graphical/interactive applications.
Draws using OpenGL, which is hardware accelerated.
Targets the Operating Systems linux, mac or windows on Pc-like hardware.
Provides some conventions and classes to help you structure a “scene based application”.
A cocos2d application consists of several scenes, and a workflow connecting the different scenes.
It provides you with a “director” (a singleton) which handles that workflow between scenes.
Each scene is composed of an arbitrary number of layers;
layers take care of drawing to the screen (using the pyglet and OpenGL APIs), handling events and in general contain all of the game/application logic.
cocos2d simplifies the game development in these areas:
- Flow control: Manage the flow control between different scenes in an easy way
- Sprites: Fast and easy sprites
- Actions: Just tell sprites what you want them to do. Composable actions like move, rotate, scale and much more
- Effects: Effects like waves, twirl, lens and much more
- Tiled Maps: Support for rectangular and hexagonal tiled maps
- Collision: Basic pure python support for collisions
- Transitions: Move from scene to scene with style
- Menus: Built in classes to create menus
- Text Rendering: Label and HTMLLabel with action support
- Built-in Python Interpreter: For debugging purposes
- Access to OpenGL functionality
- and much more! http://python.cocos2d.org
- To execute some effects you will need a video card with the:
- GL_EXT_framebuffer_object extension.
Being a pure python package the usual options are available; you
can look at the INSTALL file for some details
Go to the online tutorials / documentation page:
- You will find:
- the Programming Guide
- the API Reference
- some tutorial videos
The tutorials are included in the source package.
Lot of miniprograms that demonstrates the available objects and possible actions.
There are a great starting point while learning and experimenting with cocos:
you find a sample with the object that interest you exercising the features
that you need, read the code, run, modify and re-run to experiment.
Also, handy to know what is available in cocos: run all the tests and by
looking at the code you know what to look at in the docs.
You can find them at the test directory in the source distribution.
After unpacking, to run the tests you can do:
$ cd test
$ python test_*.py
More complex sample programs
You can find it in the samples directory in the source distribution, and the
most complex in subdirectories there, including a presentation done with
After unpacking, to run the samples you can do:
$ cd samples
$ python sample_name.py
- Do you have any doubt?
- Did you find any bug?
- Current repository is at
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.