Lo que no te han contado sobre el desarrollo para iPhone/iPad
Desarrollar juegos para Iphone e Ipad con Cocos2D
-
Upload
creagamers -
Category
Documents
-
view
7.632 -
download
2
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/