Desarrollar juegos para Iphone e Ipad con Cocos2D

Post on 12-Jun-2015

7.632 views 2 download

Transcript of 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

- Juegos 2D en IOS

-120 milliones de dispositivos IOS-250 aplicaciones venedidas cada

segundo-250000 apliciaciones total

- ¿Por qué IOS?

- ¿Qué necesitamos para iniciarnos?

- IOS Technology Stack

- ¿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.

- ¿Por qué Cocos2D?-Comunidad activa

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

- ¿Por qué Cocos2D?-Wiki

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

-Características / Modelo Engine

-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

-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 

-Declaración de objetos

Interface de una clase

Llamar a métodos

Sintaxis de declaración de métodos

Implementación de una clase

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

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;}

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

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

Director

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

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.

Layers

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

Clases Importantes

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

CocosNode

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

Scene

Layer

Director

AtlasSprite

AtlasSpriteManager

Sprite VS AtlasSprite

-Sprite

-AtlasSprite

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

-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

-Instalación

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

-Proyecto nuevo

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

-Estructura del proyecto - General

-Estructura del proyecto - AlphaGeeksAppDelegate.m

-Estructura del proyecto –HelloWordScene.h

-Estructura del proyecto –HelloWordScene.m

-Añadiendo Fondo

-Añadiendo nuestro personaje

-Añadiendo enemigos

-Eliminando enemigos

-Animando nuestro personaje

-Animando Enemigos

-Añadiendo un contado

-Añadiendo música y sonido

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/