Prosiguiendo con Cocos2D el framework basado en OpenGL ES para el desarrollo de juegos en 2D para la plataforma iOS, continuaremos con la implementación de objetos y animaciones en el proyecto creado anteriormente.

Antes recordemos que la animación es un proceso para generar la sensación de movimiento de un objeto por medio de la superposición de varias imágenes. Cada una de las imágenes que conforman una animación se denomina fotograma o frame, para las animaciones en el iPhone con Cocos2D, dependiendo de los objetos creados, se establece un número predeterminado de 60 fotogramas por segundo.

Implementación de Cocos2D

Ahora vamos a proseguir con el proyecto creado en el artículo anterior. Pero antes debemos agregar esta imagen en nuestro proyecto

1. Redefinimos la clase HelloWorld de CCLayer a CCColorLayer, para modificar de manera fácil el color de fondo

#import "cocos2d.h"

@interface HelloWorld : CCLayerColor
{
}
+(id) scene;
@end

2. Agregamos el objeto CCSprite a la capa HelloWorld

-(id) init{

	// ccc4 Estable el color de Fondo
	if( (self=[super initWithColor:ccc4(255,255,255,255)] )) {

		CGSize winSize = [[CCDirector sharedDirector] winSize];

                self.isTouchEnabled = YES;

		// Crea un objeto tipo CCSprite que contiene la imagen agregada
		CCSprite *player = [CCSprite spriteWithFile:@"giftOne.png"

		rect:CGRectMake(0, 0, 186, 186)];

		// Establece la posición del objeto
		player.position = ccp(player.contentSize.width/2, winSize.height/2);

		// Agrega el objeto a la Capa
		[self addChild:player];

	}

	return self;
}

3. Compilar y ejecutar

4. Ahora agregaremos movimiento a nuestro objeto con el siguiente método

-(void)moveObject {

	// Acción girar
	id rotateAction = [CCRotateBy actionWithDuration:2 angle:180*2];

	// Acción saltar
	id jumpAction = [CCJumpBy actionWithDuration:2 position:ccp(260,0) height:50 jumps:2];

	// Agrupa 2 o más acciones
	id fordward = [CCSpawn actions:rotateAction, jumpAction, nil];

	// Todas las acciones permiten regresar la acción con el método "reverse"
	id backwards = [fordward reverse];

	// Permite ejecutar una acción despúes de otra
	id sequence = [CCSequence actions: fordward, backwards, nil];

	// Repite una acción el número de veces que se requiera o
	// hasta el infinito y más allá con "RepearForEver"
	id repeat = [CCRepeat actionWithAction:sequence times:2];

	// Ejecuta la acción sobre el objeto
	[player runAction:repeat];

}

5. Realizamos el llamado a la función definida anteriormente

// Método que implementa el evento Touch en Cocos2D
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

 [self moveObject];

}

6. Compilar y ejecutar

Si todo ha salido bien obtendremos un objeto que gira y salta al momento de tocar la pantalla. En caso contrario aquí esta el proyecto para realizar el abracadabrante procedimiento “Build and Run”

Repositorio en GitHub : MDW-Guia-iOS14-Cocos2D2