Desarrollar juegos para Iphone e Ipad con Cocos2D

48

Transcript of Desarrollar juegos para Iphone e Ipad con Cocos2D

Page 1: Desarrollar juegos para Iphone e Ipad con Cocos2D
Page 2: Desarrollar juegos para Iphone e Ipad con Cocos2D

- Introducción a IOS App Development- Introducción a Cocos2D- Hacer un juego con Cocos2D- Conclusion- Resources

Page 3: Desarrollar juegos para Iphone e Ipad con Cocos2D

- Juegos 2D en IOS

Page 4: Desarrollar juegos para Iphone e Ipad con Cocos2D

-120 milliones de dispositivos IOS-250 aplicaciones venedidas cada

segundo-250000 apliciaciones total

- ¿Por qué IOS?

Page 5: Desarrollar juegos para Iphone e Ipad con Cocos2D

- ¿Qué necesitamos para iniciarnos?

Page 6: Desarrollar juegos para Iphone e Ipad con Cocos2D

- IOS Technology Stack

Page 7: Desarrollar juegos para Iphone e Ipad con Cocos2D

- ¿Por qué Cocos2D?

-iOS game development es un framework basado en el cocos2d orgina, para python, desarrollado por Ricardo Quesada Based en OpenGL 1.1-Open Source, la última versión-Multiplatforma: iOS, uPhone, Win32. Proximamente: Bada, Androidcocos2d-x, en C++, multiplatformacocos2d-android-1, en Java, para Androidcocos2d-javascript, en Javascript, para Webcocos2d-iphone, en Python para iphone e ipad-Es fácil de usar y de crear aplicaciones graficas.

Page 8: Desarrollar juegos para Iphone e Ipad con Cocos2D

- ¿Por qué Cocos2D?-Comunidad activa

http://www.cocos2d-iphone.org/forum/

Page 9: Desarrollar juegos para Iphone e Ipad con Cocos2D

- ¿Por qué Cocos2D?-Wiki

http://www.cocos2d-iphone.org/wiki/doku.php/

Page 10: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Características / Modelo Engine

Page 11: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Introducción a Objective-C

Es un lenguaje orientado a objetos basado en C, desarrollado por Apple, usando para la tecnologia Mac OS e IOS

Page 12: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Tipos de archivos

Archivos cabecera. Contiene clases, typos, funciones, y constantes.

Archivos Source. Esta es la tipica extensión usada por archivos de codigo y pueden contener Objective-C y codigo C.

Un archivo de código fuente con esta extensión puede contener código C + +, además de Objective-C y el código C. Esta ampliación se debe utilizar sólo si realmente se refieren a clases C + + o características de su código de Objective-C.

.h

.m

.mm

Cuando queremos incluir archivos de cabecera usaremos #import 

Page 13: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Declaración de objetos

Page 14: Desarrollar juegos para Iphone e Ipad con Cocos2D

Interface de una clase

Page 15: Desarrollar juegos para Iphone e Ipad con Cocos2D

Llamar a métodos

Page 16: Desarrollar juegos para Iphone e Ipad con Cocos2D

Sintaxis de declaración de métodos

Page 17: Desarrollar juegos para Iphone e Ipad con Cocos2D

Implementación de una clase

Page 18: Desarrollar juegos para Iphone e Ipad con Cocos2D

Ejemplo 1 - Clase#import <Foundation/Foundation.h>class Hello { private: id greeting_text; // holds an NSString public: Hello() { greeting_text = @"Hello, world!"; } Hello(const char* initial_greeting_text) { greeting_text = [[NSString alloc] initWithUTF8String:initial_greeting_text]; } void say_hello() { printf("%s\n", [greeting_text UTF8String]); }};

@interface Greeting : NSObject { @private Hello *hello;}- (id)init;- (void)dealloc;- (void)sayGreeting;- (void)sayGreeting:(Hello*)greeting;@end @implementation Greeting- (id)init { self = [super init]; if (self) { hello = new Hello(); } return self;}- (void)dealloc { delete hello; [super dealloc];}- (void)sayGreeting { hello->say_hello();}- (void)sayGreeting:(Hello*)greeting { greeting->say_hello();}@end

Page 19: Desarrollar juegos para Iphone e Ipad con Cocos2D

Ejemplo 1 - Main

int main() { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; Greeting *greeting = [[Greeting alloc] init]; [greeting sayGreeting]; // > Hello, world! Hello *hello = new Hello("Bonjour, monde!"); [greeting sayGreeting:hello]; // > Bonjour, monde! delete hello; [greeting release]; [pool release]; return 0;}

Page 20: Desarrollar juegos para Iphone e Ipad con Cocos2D

Estructura

-El juego tiene Escenas-Cada escena tiene un numero de Capas-Las Capas capturan la interacción del usuario y contiene Sprites-Director maneja las escenas

Page 21: Desarrollar juegos para Iphone e Ipad con Cocos2D

Director & Scenes

El juego se forma por «game screens» llamadas ScrenesCada Scene puede se puede considerar una aplicación por separado.Director maneja ventanas principales y ejecuta escenas

Page 22: Desarrollar juegos para Iphone e Ipad con Cocos2D

Director

-Controla movimientos entre escenas-Pausa o reproduce Escenas-Capa de pedir Director de seguir adelante

Page 23: Desarrollar juegos para Iphone e Ipad con Cocos2D

Scenes

Cada escena contiene varias capas de pantalla completa.Las Capas definen la apariencia, el comportamiento y la entrada del usuario.Las Capas contienen sprites que son los elementos del juego.

Page 24: Desarrollar juegos para Iphone e Ipad con Cocos2D

Layers

-Recoger toda la pantalla-Manejar fácil el táctil y el acelerómetro-Puede contener otras capas y sprites

Page 25: Desarrollar juegos para Iphone e Ipad con Cocos2D

Clases Importantes

-CocosNode-Scene-Layer-Director-AtlasSprite-AtlasSPriteManager

Page 26: Desarrollar juegos para Iphone e Ipad con Cocos2D

CocosNode

-Pérdida de propiedades-Posición, Escala, Cámara, OpenGL posición z-La mayoría de los objetos heredan de cocos2d CocosNode

Page 27: Desarrollar juegos para Iphone e Ipad con Cocos2D

Scene

Page 28: Desarrollar juegos para Iphone e Ipad con Cocos2D

Layer

Page 29: Desarrollar juegos para Iphone e Ipad con Cocos2D

Director

Page 30: Desarrollar juegos para Iphone e Ipad con Cocos2D

AtlasSprite

Page 31: Desarrollar juegos para Iphone e Ipad con Cocos2D

AtlasSpriteManager

Page 32: Desarrollar juegos para Iphone e Ipad con Cocos2D

Sprite VS AtlasSprite

-Sprite

-AtlasSprite

-En general no se usan Sprites-AtlasSPrites es una manera más rápida-Usando OpenGL ES

Page 33: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Instalación-Nuevo Proyecto-Estructura de un proyecto-Añadir un fondo-Añadir un nuestro personaje-Añadir Enemigos-Eliminar Enemigos-Animar nuestro personaje-Animar Enemigos-Añadir Contador-Añadoir Sonido y Musica

Page 34: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Instalación

-Ir a la carpeta descargada, de cocos2d, por consola-Ejecutar el comando sudo ./install_template.sh

Page 35: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Proyecto nuevo

-Abre Xcode, y selecciona nuevo proyecto de una aplicación cocos2d

Page 36: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Estructura del proyecto - General

Page 37: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Estructura del proyecto - AlphaGeeksAppDelegate.m

Page 38: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Estructura del proyecto –HelloWordScene.h

Page 39: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Estructura del proyecto –HelloWordScene.m

Page 40: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Añadiendo Fondo

Page 41: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Añadiendo nuestro personaje

Page 42: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Añadiendo enemigos

Page 43: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Eliminando enemigos

Page 44: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Animando nuestro personaje

Page 45: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Animando Enemigos

Page 46: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Añadiendo un contado

Page 47: Desarrollar juegos para Iphone e Ipad con Cocos2D

-Añadiendo música y sonido

Page 48: Desarrollar juegos para Iphone e Ipad con Cocos2D

http://developer.apple.com

http://www.slideshare.net/360conferences/introtoduction-to-cocos2d?src=related_normal&rel=5237272

http://www.slideshare.net/Greenwell/iphone-and-ipad-game-development-with-cocos2d

http://www.cocos2d-iphone.org/

http://cocos2d.org/