Home » Guías » Cocos2D Swift 3.2, como se crean y actualizan proyectos
Cocos2D 3.2

Cocos2D Swift 3.2, como se crean y actualizan proyectos

El pasado 30 de agosto, el equipo que trabaja en Cocos2D Swift, el port compatible con iOS y OS X del framework de código abierto Cocos2D para desarrollo de juegos 2D sobre OpenGL ES, tomó una importante e interesante decisión al respecto de cómo iban a funcionar los proyectos Cocos2D a partir de ahora.

Hasta ahora, Cocos2D permitía crear un proyecto a partir de plantillas dentro de Xcode cuando generábamos un nuevo proyecto. Luego, si había una actualización del mismo motor, había que entrar directamente en los archivos, borrar las carpetas manualmente y ponerlo todo de nuevo en su sitio, cruzando los dedos, y esperando que el proyecto no se corrompiera.

SpriteBuilder + Cocos2D

Ahora, cuando queremos crear un proyecto Cocos2D no vamos a usar Xcode nunca más ni tampoco las plantillas que nos instalaba el instalador de Cocos2D. De hecho, ya no se existe instalador de Cocos2D. La única forma de trabajar y actualizar Cocos2D pasa ahora mismo por la herramienta SpritBuilder cuyo ciclo de actualización dependerá exclusivamente de la Mac App Store. Esta hará las veces de IDE de los proyectos y se encargará de su actualización a nuevas versiones.

Tenemos que abrir SpriteBuilder, ir a File, New y Project. Creamos una carpeta donde queramos que se guarde todo el proyecto y listo. Se creará una carpeta con la extensión .spritebuilder y dentro irá todo lo necesario para abrirlo posteriormente en Xcode.

Tendremos el fichero del proyecto .xcodeproj, y además veremos que hay una carpeta .approj preparada pues los proyectos de SpriteBuilder también generan la pre-estructura que necesita la herramienta Apportable para poder compilar una versión de nuestro juego en Android gracias a esta.

Actualización simple

A partir de ahora, tampoco tendremos que preocuparnos de las actualizaciones. Cuando abramos un proyecto con SpriteBuilder y este detecte que nuestra versión de Cocos2D es más antigua, nos sugerirá que la actualicemos desde la versión anterior. Como es lógico, hace una copia de seguridad de nuestra librería actual y actualiza.

Cocos2D Update

Hemos de tener presente que muchas veces las actualizaciones de este framework requieren cambios en el código fuente por diferentes cambios en determinados métodos, aunque el equipo de Cocos2D ya ha prometido que va encaminado hacia una estructura de definición fija que le permita evitar los cambios grandes en los métodos.

Actualización manual

En caso que vuestro proyecto de Cocos2D v3 no haya sido creado con SpriteBuilder, la actualización pasa por borrar los fuentes de Cocos2D antiguos y sustituirlos por los nuevos. Para ese caso, en la web puede seguir descargándose una instalación de Cocos2D que podemos usar para esto. Para actualizar seguimos los siguientes pasos:

  • Cerramos Xcode para que no se de cuenta de la trampa 🙂
  • Vamos a la carpeta donde hemos creado nuestro proyecto y entramos en la carpeta cuyo nombre coincide con el fichero xcodeproj donde tenemos nuestro proyecto de Xcode.
  • Vamos a la carpeta Libraries.
  • En ella veremos las carpetas CCBReader, Chipmunk, cocos2d, cocos2d-ui y ObjectAL, además de 3 archivos de texto con los acuerdos de licencia de cocos2d, chipmunk y ccbreader.
  • Borramos la carpeta cocos2d de nuestra carpeta Libraries dentro del proyecto. Sin miedo.
  • Tras habernos bajado la última versión, vamos a la carpeta de la misma, cocos2d-swift-3.2.1 en nuestro caso, con la última versión.
  • Buscamos la carpeta cocos2d dentro de esta y tal cual, la copiamos en la carpeta Libraries de nuestro proyecto.
  • Borramos de la carpeta Libraries de nuestro proyecto las carpetas cocos2d-ui y CCBReader.
  • Vamos a la carpeta de instalación y copiamos la carpeta cocos2d-ui a Libraries.
  • Entramos a la carpeta cocos2d-ui recién copiada y vemos que dentro tiene la carpeta CCBReader. La movemos a Libraries, sacándola de ahí.
  • Ahora esto es más complicado: vamos a la carpeta Chipmunk en Libraries y borramos la carpeta objectivec.
  • Vamos a la instalación, entramos en External y luego en Chipmunk. Dentro buscamos la carpeta objetivec entre todo el contenido, y la copiamos a Libraries/Chipmunk de nuestro proyecto.
  • Ahora entramos en la carpeta chipmunk de Libraries/Chipmunk y borramos las dos carpetas include y src que hay dentro.
  • Volvemos a la instalación en External/Chipmunk y copiamos las dos carpetas include y src que hay en dicha ruta, entre el resto de contenidos.
  • Nos volvemos a Libraries y borramos la carpeta ObjectAL.
  • Vamos a External en instalación y copiamos la carpeta ObjectAL a Libraries en nuestro proyecto.

Si hemos seguido los pasos, con precaución, borrando y copiando en el orden indicado, ahora ya podemos abrir Xcode y tendremos nuestro proyecto actualizado a la última versión de Cocos2D sin tocar una sola línea de código ni hacer extraños dentro de Xcode.

Es importante que antes de hacer nada, limpiéis el proyecto con Product -> Clean. Luego, revisad la estructura de archivos de Cocos2D. En nuestro caso, la desaparición de algunos archivos como CCEffectColor provocó un error tan simple de solucionar como borrar los archivos del nodo de Xcode que están en color rojo (indicando que ya no existen) y que además GIT habrá marcado con una D mayúscula.

Si estamos usando GIT, el propio motor se dará cuenta de qué archivos han cambiado y los actualizará en nuestros repositorio automáticamente, como si la actualización hubiese tenido lugar en el propio Xcode. Por lo tanto es recomendable hacer un commit.

Mejoras importantes, aun sin soporte de iPhone 6

Cocos2D Swift ha dado un salto de gigante, importante, pero que puede ser complejo para gente que viene trabajando con un flujo diferente. No obstante, el uso de SpriteBuilder es opcional, como siempre. Podemos crear el proyecto y luego hacerlo todo con Cocos2D, usando la herramienta solo para actualizar en caso de ser necesario.

SpriteBuilder permite la inclusión de diferentes assets gráficos para cada dispositivo, de forma que con nuevos paquetes podemos crear aplicaciones universales sin problema. No obstante, aun no tiene soporte para las nuevas resoluciones 1334×750 del nuevo iPhone 6 y 2208×1242 del iPhone 6 Plus (que luego es reducido a 1080p por hardware).

SpriteBuilder para OS X (Gratis) | Descargar
Cocos2D 3.2.1 zip | Descargar

Acerca de Julio César Fernández

Analista, consultor y periodista tecnológico, desarrollador, empresario, productor audiovisual, actor de doblaje e ingeniero de vídeo y audio.

Otras recomendaciones

Drag & Drop

Drag & Drop (I): Introducción y Drag

Iniciamos una serie de guías que explican todo lo presentado en la WWDC y cómo usarlo o cómo funciona. Explicado, esta vez, con nuestro primer screencast, un vídeo explicativo y práctico con Xcode 9, que te ayudará a seguir los pasos para implementar el drag de una app a otra y entender cómo está configurado y funciona. No os olvidéis de suscribiros a nuestro canal de Youtube si queréis ver más contenidos.