jul 25

Con este artículo vamos a comenzar una serie de artículos sobre cocos2d.

Cocos2d es un framework pensado para el desarrollo de juegos 2d en el iPhone/iPad. El framework esta construido sobre OpenGL ES por lo que se aprovecha de todo el poderio gráfico del iPhone. Según nuestra experiencia este framework es una maravilla.

Contiene toneladas de APIs que nos facilitan muchísimo la creación de juegos de calidad y vistosos.

En resumen: si piensas crear un juego 2d para el iPhone o el iPad a día de hoy no hay nada mejor que cocos2d.

En este primer artículo vamos a explicar como instalar la librería (es muy fácil) y como empezar nuestros proyectos con cocos2d (aquí tenéis la documentación de instalación en inglés) sin entrar en detalles y de la manera más simple y rápida.

Primero de todo tenemos que descargar cocos2d y descomprimirlo en una carpeta.

Al descomprimir el cocos2d tendremos el siguiente contenido:

Una vez descomprimido el zip podemos installar las plantillas de cocos2d que nos ayudan empezar nuevos proyectos basados en cocos2d sin tener que configurar nada.

Para eso abrimos la terminal y nos vamos a la carpeta donde hemos descomprimido el cocos2d.

En esa carpeta ejecutamos el siguiente comando:

./install-templates.sh

Con esto ya tendremos las nuevas plantillas disponibles en el XCode.

Creando un proyecto cocos2d nuevo

Una vez instalado las plantillas crear un proyecto cocos2d es trivial.

  1. Abrimos el XCode
  2. File > New Project
  3. Elegimos una de las tres plantillas cocos2d disponibles (ver la imagen de abajo).

Verá que tenemos 3 plantillas a elegir. El primero nos da un esqueleto de una aplicación cocos2d estándar. El segundo a parte de lo que hace el primero también configura el motor de físicas Box2d y el tercero hace lo mismo pero en vez del motor de Box2d usa el motor Chipmunk.

En principio si en sus juegos no necesitais tener que modelar física sobre los objetos de su juego tenéis que elegir la primera plantilla.

Ejemplos de cocos2d

Para empezar a jugar con cocos2d es muy recomendable echar un vistazo sobre los ejemplos de cocos2d que vienen en el mismo zip. Si os fijáis, en la carpeta descomprimida hay un fichero de proyecto XCode (cocos2d-iphone.xcodeproj). Es un megaproyecto que contiene un montón de ejemplos de cocos2d.

Para ejecutar cada una de los ejemplos tenemos que hacer coincidir el “Active Target” y el “Active Executable”.

Por ejemplo si queremos ejecutar el AtlasTest tenemos que elegir como Active Target el AtlasTest y como “Active Executable” también el AtlasTest (ver imágenes de abajo).

Con todo esto ya tenemos mucho material con que jugar.

En los siguientes artículos hablaremos más sobre cocos2d.

Si tenéis cualquier duda sobre la instalación no dudéis en preguntarnoslo vía comentarios (los leemos todos). También se aceptan sugerencias :-)

VN:F [1.9.8_1114]
Rating: 3.6/5 (5 votes cast)
VN:F [1.9.8_1114]
Rating: +4 (from 4 votes)
Tagged with:
ene 20

Navegando por foros de Internet sobre progracmación de juegos con cocos2d me encuetro muchas preguntas sobre como usar sonidos en los juegos.
Con este pequeño artículo voy a explicar como se hace eso usando el SimpleAudioEngine (como su nombre indica es muy simple de usar).

Doy por hecho que ya teneís configurado el XCode y tenéis incluidos las APIs de cocos2d.

Para empezear a usar SimpleAudioEngine debeís incluirlo en su fichero fuente:

#import "SimpleAudioEngine.h"

SimpleAudioEngine es capaz de reproducir varios sonidos al mismo tiempo y diferencia lo que sería la música de fondo y los efectos de sonido (p.e. disparos, explosiones, etc.).

Para usar los sonidos (sea de fondo o de efecto) hay que precargarlos para evitar un pequeño retraso al reproducirlos por primera vez (si no están precargados, el motor perderá tiempo cargando y luego reproducirá).

Entonces, se recomienda tener cargado un sonido antes del primer uso.

Vamos a ver como se podemos integrar un sonido de fondo en nuestros juegos.

Sonidos de fondo

Como he dicho antes, primero hay que cargarlo (eso lo haremos en alguna parte del código antes de mostrar el escenario del juego):

[[SimpleAudioEngine sharedEngine] preloadBackgroundMusic:@"background.wav"];

Una vez hecho el preload podemos reproducirlo:

[[SimpleAudioEngine sharedEngine] playBackgroundMusic:@"background.wav"];
//O si queremos que la música de fondo se repita pode usar el siguiente método
[[SimpleAudioEngine sharedEngine] playBackgroundMusic:@"background.wav" loop:YES];

También podemos pausar, resumir y para la música:

[[SimpleAudioEngine sharedEngine] pauseBackgroundMusic]; //Pausa
[[SimpleAudioEngine sharedEngine] resumeBackgroundMusic]; //Seguir reproduciendo
[[SimpleAudioEngine sharedEngine] stopBackgroundMusic]; //Parar la reproducción

También puede controlar el volumen de la música. El varor del volumen ha de estar entre 0 y 1 (volumen máximo).

[SimpleAudioEngine sharedEngine].backgroundMusicVolume = 0.5;

Efectos de sonido (disparos, explosiones, etc.)

Como en el caso anterior tenemos que cargar el/los efecto/s.

[[SimpleAudioEngine sharedEngine] preloadEffect:@"bip.wav"];

Podemos reproducir o para un efecto con:

[[SimpleAudioEngine sharedEngine] playEffect:@"bip.wav"]; //reproducir
[[SimpleAudioEngine sharedEngine] playEffect:@"bip.wav"]; //parar

Para liberar la memoria se usa:

[[SimpleAudioEngine sharedEngine] unloadEffect:@"bip.wav"];

Y finalmente se puede controlar el volumen con (min 0, max 1):

[SimpleAudioEngine sharedEngine].effectsVolume = 0.9;

Hay mas métodos que puede ser útiles a parte de los aquí citados. Pueden ver todos los métodos disponibles en la API de SimpleAudioEngine.

VN:F [1.9.8_1114]
Rating: 5.0/5 (2 votes cast)
VN:F [1.9.8_1114]
Rating: +1 (from 1 vote)
Tagged with:
preload preload preload