Marco de software
Cocos2d es un marco de desarrollo de juegos de código abierto para crear juegos 2D y otro software gráfico para iOS , Android , Windows , macOS , Linux , HarmonyOS , OpenHarmony y plataformas web . Está escrito en C++ y proporciona enlaces para varios lenguajes de programación, incluidos C++ , C# , Lua y JavaScript . El marco ofrece una amplia gama de funciones, que incluyen física , sistemas de partículas , animaciones esqueléticas , mapas de mosaicos y otros.
Cocos2d se lanzó por primera vez en 2008 y se escribió originalmente en Python. Contiene muchas ramas, siendo las más conocidas Cocos2d-ObjC (antes conocida como Cocos2d-iPhone), Cocos2d-x, Cocos2d-JS y Cocos2d-XNA. También hay muchas herramientas, editores y bibliotecas de terceros creados por la comunidad Cocos2d, como editores de partículas, editores de hojas de sprites , editores de fuentes y editores de niveles , como SpriteBuilder y CocoStudio.
Sprites y escenas
Todas las versiones de Cocos2d funcionan utilizando el primitivo básico conocido como sprite . Un sprite puede considerarse como una simple imagen 2D, pero también puede ser un contenedor para otros sprites. En Cocos2D, los sprites se organizan juntos para formar una escena, como un nivel de juego o un menú. Los sprites se pueden manipular en código en función de eventos o acciones o como parte de animaciones. Los sprites se pueden mover, rotar, escalar, cambiar su imagen, etc.
Características
Animación
Cocos2D proporciona primitivas de animación básicas que pueden funcionar en sprites mediante un conjunto de acciones y temporizadores. Se pueden encadenar y combinar para formar animaciones más complejas. La mayoría de las implementaciones de Cocos2D permiten manipular el tamaño, la escala, la posición y otros efectos del sprite. Algunas versiones de Cocos2D también permiten animar efectos de partículas y efectos de filtrado de imágenes mediante sombreadores (deformación, ondulación, etc.).
Interfaz gráfica de usuario
Cocos2D proporciona primitivas para representar elementos comunes de la interfaz gráfica de usuario en escenas de juego. Esto incluye elementos como cuadros 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 encapsulan OpenAL u otras bibliotecas para brindar capacidades de audio completas. Las funciones dependen de la implementación de Cocos2D.
Soporte de scripts
Existe compatibilidad con enlaces a JavaScript , Lua y otros motores para Cocos2D. Por ejemplo, Cocos2d JavaScript Binding (JSB) para C / C++ / Objective-C es el código contenedor que se encuentra entre el código nativo y el código JavaScript que utiliza SpiderMonkey de Mozilla . Con JSB, puedes acelerar tu proceso de desarrollo escribiendo tu juego con JavaScript fácil y flexible.
Soporte del editor
Soporte al final de la vida
- SpriteBuilder: Anteriormente conocido como CocosBuilder, [6] SpriteBuilder es un IDE para aplicaciones Cocos2D-SpriteBuilder. SpriteBuilder es gratuito y su desarrollo fue patrocinado por Apportable, quien también patrocinó los proyectos gratuitos de física Cocos2D-SpriteBuilder, Cocos3D y Chipmunk. Estaba disponible como una aplicación gratuita en la Mac App Store . Su última versión oficial es la 1.4. [7] [8] Su última versión no oficial es la 1.5 que es compatible con cocos2d-objC 3.4.9. [9] Es compatible con Objective-C.
- CocoStudio: un conjunto de herramientas propietario basado en Cocos2d-x, que contiene un editor de interfaz de usuario, un editor de animación, un editor de escenas y un editor de datos, que juntos forman un sistema completo; los dos primeros son herramientas principalmente para artistas, mientras que los dos últimos son principalmente para diseñadores. Este es un proyecto propietario desarrollado por Chukong Technologies . Su última versión es la 3.10, que es compatible con cocos2d-X 3.10. [10] [11] Es compatible con C++. En abril de 2016 quedó obsoleto y se reemplazó por Cocos Creator.
Soporte actual
- Cocos Creator, que es una herramienta de desarrollo de juegos unificada y propietaria [12] para Cocos2d-X. A partir de agosto de 2017, solo es compatible con JavaScript y TypeScript y no es compatible con C++ ni Lua. Se basa en el Fireball-X gratuito . [13] La compatibilidad con C++ y Lua para el creador se encuentra en fase de desarrollo alfa desde abril de 2017. [14]
- SpriteBuilderX, un editor de escenas gratuito para Cocos2d-X con soporte para C++ y que funciona únicamente en macOS. [15]
- X-Studio, un editor de escenas propietario [16] para Cocos2d-X con soporte Lua y que funciona solo en Windows. [17] [18]
- CCProjectGenerator: un generador de proyectos para Cocos2d-ObjC 3.5 que genera proyectos Swift o Objective-C para Xcode. [19]
Plataformas e idiomas compatibles
Historia
Cocos2d (Python)
En febrero de 2008, en el pueblo de Los Cocos , cerca de Córdoba, Argentina , Ricardo Quesada, un desarrollador de juegos, y Lucio Torre crearon un motor de juegos 2D para Python con varios de sus amigos desarrolladores. Lo llamaron "Los Cocos" en honor a su lugar de nacimiento. Un mes después, el grupo lanzó la versión 0.1 y cambió su nombre a "Cocos2d". [21]
Cocos2d-iPhone
Atraído por el potencial de la nueva App Store de Apple para el iPhone , Quesada reescribió Cocos2d en Objective-C y en junio de 2008 lanzó "Cocos2d para iPhone" v0.1, el predecesor de la posterior familia Cocos2d. [21]
Cocos2D-ObjC (anteriormente conocido como Cocos2D-iPhone y Cocos2D-SpriteBuilder) es mantenido por Lars Birkemose.
Además, el diseñador inglés Michael Heald diseñó un nuevo logotipo para Cocos2d (el logotipo de Cocos2d anteriormente era un coco corriendo).
Cocos2d-x
En noviembre de 2010, un desarrollador de China llamado Zhe Wang creó una rama de Cocos2d-x basada en Cocos2d. Cocos2d-x también es un motor libre con licencia MIT y permite compilar y ejecutar en múltiples plataformas con una base de código.
En 2013, Quesada dejó cocos2d-iPhone y se unió al equipo cocos2d-x. En marzo de 2017, Quesada fue despedido de la empresa Chukong. [22] [21] En 2015, hay 4 sucursales de cocos2d que se mantienen activamente.
Cocos2d-x y Cocos2d-html5 son mantenidos y patrocinados por los desarrolladores de Chukong Technologies . Chukong también está desarrollando CocoStudio, que es un editor WYSIWYG para Cocos2d-x y Cocos2D-html5, y una versión gratuita del proyecto Cocos3d-x del proyecto Cocos3D.
Otros puertos, horquillas y fijaciones
Cocos2d ha sido portado a varios lenguajes de programación y a todo tipo de plataformas, entre ellas:
- ShinyCocos, en color rubí
- Cocos2d-Android, en Java para Android
- Cocos2d-windows, en C++ para Windows XP y Windows 7
- CocosNet, en C# basado en Mono
- Cocos2d-javascript, en JavaScript para navegadores web
- Cocos2d-XNA nació en la comunidad de cocos2d-x para brindar soporte a Windows Phone 7 , pero ahora se ha ramificado en un proyecto independiente que utiliza C# y mono para ejecutarse en múltiples plataformas. Jacob Anderson de Totally Evil Entertainment está a cargo de esta rama.
- Cocos3d funciona como una extensión de cocos2d-iPhone, escrita en Objective-C. Bill Hollings de Brenwill Workshop Ltd es el responsable de esta rama.
- Axmol Engine es un motor C++ multiplataforma de código abierto diseñado para dispositivos móviles, computadoras de escritorio y Xbox, ideal para el desarrollo de juegos en 2D. Se lanzó en noviembre de 2019 como una bifurcación de Cocos2d-x v4.0.
Juegos desarrollados con cocos2d
Véase también
Referencias
- ^ "¡Feliz séptimo cumpleaños, Cocos2d-x!". Diciembre de 2017. Consultado el 17 de diciembre de 2017 .
- ^ "Versión 4.0". 29 de noviembre de 2019. Consultado el 30 de noviembre de 2019 .
- ^ "Lanzamientos". cocos2d/cocos2d-objc. GitHub .
- ^ "Historial de versiones".
- ^ "cocos2d". Archivado desde el original el 15 de enero de 2024 . Consultado el 10 de mayo de 2024 .
- ^ "CocosBuilder". GitHub . 9 de noviembre de 2021.
- ^ "SpriteBuilder". GitHub . 8 de noviembre de 2021.
- ^ "Sprite Builder". spritebuilder.com . 1 de diciembre de 2018 . Consultado el 10 de abril de 2024 .
- ^ "[Actualización] SpriteBuilder 1.5.0 vs Cocos2D v3.4.9 - Foro Cocos2D-SpriteBuilder". Archivado desde el original el 22 de diciembre de 2016 . Consultado el 22 de diciembre de 2016 .
- ^ "Cocos Studio | Cocos2d-x". Archivado desde el original el 17 de julio de 2017. Consultado el 21 de diciembre de 2016 .
- ^ "¿Dónde puedo descargar Cocos Studio?". 19 de julio de 2016.
- ^ "¿EDITOR de cocos creator es de código abierto?". 7 de febrero de 2017.
- ^ "Fireball-x/Fireball en GitHub". 28 de enero de 2015.
- ^ "Se ha publicado compatibilidad con C++ y Lua para la versión alpha0 de Creator". 11 de abril de 2017.
- ^ "SpriteBuilderX - editor para Cocos2d-X con soporte para C++". 6 de febrero de 2017.
- ^ "#x-studio, una herramienta de desarrollo de juegos basada en Cocos2d-x". 19 de marzo de 2017.
- ^ "X-studio IDE, 代码编辑器, Lua调试器, UI编辑器".
- ^ Sitio web de X-Studio
- ^ "CCProjectGenerator". GitHub . 9 de noviembre de 2020.
- ^ Cocos2D-ObjC, cocos2d, 9 de enero de 2023 , consultado el 12 de enero de 2023
- ^ abc Quesada, Ricardo (16 de abril de 2017). "La historia de Cocos2d en un vistazo". RETRO.MOE . Consultado el 3 de julio de 2019 .
- ^ "Encuesta: Las razones por las que no usaré Cocos Creator". 9 de agosto de 2017.
- ^ Baker, Liana B. (9 de mayo de 2011). "Zynga compra el equipo de desarrollo del motor de juegos para iPhone". Reuters . Archivado desde el original el 13 de mayo de 2011. Consultado el 14 de abril de 2021.
Zynga dijo que no adquiriría cocos2d, que es un motor de juegos gratuito que los desarrolladores usan para crear juegos para dispositivos Apple como el iPhone, el iPad y el iPod touch. El director de tecnología de Zynga, Cadir Lee, dijo en una entrevista que Zynga ya usa el motor de juegos en su juego FarmVille en el iPhone. Tener a los desarrolladores, que fueron clave en el desarrollo de la plataforma gratuita, ayudará a Zynga a dominar la tecnología, dijo Lee.
- ^ "Todo hecho en COCOS2D…". Reddit.com . 19 de noviembre de 2013 . Consultado el 18 de agosto de 2024 .
- ^ Takaki, Hiroshige (13 de julio de 2016). "Cocos2d-xチューニング、マルチデバイス対応…任天堂エンジニアに聞いた「Miitomo」開発の裏側". REVISTA CodeIQ (en japonés). Viscosidad . Archivado desde el original el 15 de abril de 2021 . Consultado el 14 de abril de 2021 .
- ^ Vuorinen, Johannes (27 de abril de 2013). «BADLAND – a cocos2d-iphone game». Cocos2D . Archivado desde el original el 10 de febrero de 2014. Consultado el 8 de junio de 2021 .
- ^ "Los juegos coreanos más importantes que utilizan el motor Cocos". 22 de abril de 2020.
- ^ "Las mejores empresas de Estados Unidos crean juegos móviles con Cocos". 30 de junio de 2020.
Lectura adicional
- Roger Engelbert (2013). Guía para principiantes de Cocos2d-x por ejemplo . Packt Publishing Ltd. ISBN 978-1-78216-735-8.
Enlaces externos