# Cocos2d

Cocos2d es un framework, basado en (Pyglet), escrito en Python para crear juegos en 2d, y presentaciones gráficas. Actualmente (2018) existe Cocos2d para varias plataformas o lenguajes de desarrollo.
* Cocos2d: para soporte de Python
* Cocos2d-X : para soporte de C++
* Cocos2d-Js: Para soporte de Javascript
* Cocos2d-XNA: para soporte de XNA en C#
* Cocos2D-Swift: para soporte de Objective-C
Cuenta con una versión adaptada para IPhone, 0.99.5-rc1, lanzada el 16 de noviembre de 2010. Tras la creación del IDE de desarrollo de Intel XDK, se puede usar la versión de Cocos2d-Js para realizar aplicaciones y juegos para Android, IOS, Winphone, Windows Store, Tizen, Firefox, etc. Es utilizado en diversos juegos en la App Store.

## Características
### Animación

Cocos2D provee primitivas animaciones básicas que puede trabajar en sprites utilizando un conjunto de acciones y relojes. Estos pueden ser encadenados y compuestos juntos para formar animaciones más complejas. La mayoría de las implementaciones de Cocos2D permite manipular el tamaño, la escala, la posición y otros efectos del sprite. Algunas versiones de Cocos2D también permite animar efectos de partículas, filtros de imágenes aplicado con shaders (warp, ripple, etc.).

### GUI

Cocos2D proporciona representaciones primitivas de elementos comunes de un GUI en escenas de un juego. Esto incluye cosas como cajas de texto, etiquetas, menús, botones y otros elementos comunes.

### Sistema de física

Muchas implementaciones de Cocos2D vienen con soporte para motores de física 2D comunes como Box2D y Chipmunk.

### Audio

Varias versiones de Cocos2D tienen bibliotecas de audio que envuelven OpenAL u otras bibliotecas para proporcionar capacidades de audio completas. Las características dependen de la implementación de Cocos2D.

### Soporte de secuencias de comandos (scripts)

Soporte de vinculación a JavaScript, Lua, y otros motores existen para Cocos2D. Por ejemplo, Cocos2d JavaScript Binding (JSB) para C/C++/Objective-C es el código de contenedor que se encuentra entre código nativo y código JavaScript usando SpiderMonkey de Mozilla. Con JSB, puede acelerar su proceso de desarrollo escribiendo su juego usando JavaScript fácil y flexible.

### Soporte del editor
#### Soporte de fin de vida

* SpriteBuilder: Anteriormente conocido como CocosBuilder, SpriteBuilder es un IDE para aplicaciones Cocos2D-SpriteBuilder. SpriteBuilder es de código abierto y su desarrollo fue patrocinado por Apportable, quien también patrocinó los proyectos de código abierto como proyectos de Cocos2D-SpriteBuilder, Cocos3D y Chipmunk física. Estaba disponible como una aplicación gratuita en la Mac App Store. Su última versión oficial es 1.4. Su última versión no oficial es 1.5 cual es compatible con cocos2d-objC 3.4.9. Este soporta Objective-C.
* CocoStudio: Un conjunto de herramientas basado en Cocos2d-x, que contiene el UI Editor, el Editor de animación, el Editor de escenas y el Editor de datos, formando juntos un sistema completo; Los dos primeros son herramientas principalmente para los artistas, mientras que los segundos son dos principalmente para los diseñadores. Este es un proyecto de código cerrado desarrollado por Chukong Technologies. Su última versión es 3.10 mientras que es compatible con cocos2d-X 3.10. Soporta C++. En abril de 2016 queda obsoleto y reemplazado por Cocos Creator.

#### Soporte actual

* Cocos Creator: Es una herramienta unificada de desarrollo de juegos para Cocos2d-X. A partir de diciembre de 2016, utiliza JavaScript y no es compatible con C++.

## Soporte de plataformas y lenguajes

| Ramas | Plataforma destino | Lenguaje API |
| Cocos2d | Windows, OS X, Linux | Python 2.6, 2.7 o 3.3+,Objective-C |
| Cocos2d-x | iOS, Android, Tizen, Windows 8, Windows Phone 8, Linux, Mac OS X | C++, Lua, JavaScript |
| Cocos2d-ObjC | iOS, Mac OS X, Android | Objective-C, Swift |
| Cocos2d-html5 | navegadores HTML5-ready | JavaScript |
| Cocos2d-xna | Windows Phone 7 & 8, Windows 7 & 8, Xbox 360 | C# |