SlideShare una empresa de Scribd logo
Barcelona Developers Conference www.bcndevcon.org
           Taller de Iniciación en Cocos2D
          Barcelona 08 de Diciembre 2012
                    www.agbo.biz
cocos2d-iphone
   Alberto González
   @agonzalez_net
   cursos@agbo.biz
vs
       3D                       2D

Javascript, C#, Boo         Objective-C

  World Editor             3rd Party Tools

     Cerrado               Open Source

  400$ ~ 3000$                   0
¿Qué es cocos2d?
Framework para desarrollar juegos 2D, demos y
    otras aplicaciones gráficas/interactivas.

Funciona sobre OpenGL pero no es necesario
     conocer los entresijos de OpenGL.

  Incorpora 2 motores de físicas (Chipmunk y
                  Box2D).

  Incluye la librería de audio CocosDension.
¿Qué no es cocos2d?

 No incluye ningún tipo de editor visual para mundo,
interfaz, escenas, sprites, efectos, fuentes bitmap, etc.


             ¡Pero existen aplicaciones! :)
Algunos Ejemplos
Algunos Ejemplos
¿De dónde viene
   cocos2d?
 2005 PyCon
 2008 “Los cocos” Python
 2008 cocos2d-iphone v0.1
 2012 cocos2d-iphone v2.0
Familia cocos2d
cocos2d 2.x vs 1.x
 Open GL ES 2.0   Open GL ES 1.1
cocos2d 2.x
            Restricciones



•iOS >= 4.0OS X >= 10.6 (Snow
Leopard)Xcode 4

•LLVM 3.0 o superior
cocos2d 2.x
                Ventajas

•Mejor rendimiento
•Mejoras en sprites, animaciones,
resoluciones retina, integración con los
motores de físicas...
•Compatible con ARC
•Actual rama en desarrollo
Instalación

• Descargar de
  www.cocosd2-iphone.org/download


• Ejecutar script
  ./install-templates.sh -f
[Demo]
CCNode
CCScene   CCLayer   CCSprite
CCAction
[Demo]
Touch Events
                            HelloWorldLayer *layer = [HelloWorldLayer node];
                            layer.isTouchEnabled = YES;

- (void) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
- (void) ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
- (void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
- (void) ccTouchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event



- (void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [touches anyObject];
    CGPoint touchLocation = [touch locationInView:touch.view];
    CGPoint touchLocationGL = [[CCDirector sharedDirector] convertToGL:touchLocation];
    // do what needed
}
[Demo]
Autorotation iOS 6

           “Autorotation is changing in iOS 6. In iOS 6,
the shouldAutorotateToInterfaceOrientation: method of
  UIViewController is deprecated. In its place, you should use the
    supportedInterfaceOrientationsForWindow: and
                 shouldAutorotate methods.”
Autorotation iOS 6
@interface MyNavigationController : UINavigationController <CCDirectorDelegate>
@end


@implementation MyNavigationController

// Autorotation (iOS < 6.0)
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}

// Autorotation (iOS >= 6.0)
- (BOOL)shouldAutorotate
{
   return YES;
}

// Autorotation (iOS >= 6.0)
- (NSUInteger)supportedInterfaceOrientations
{
   return UIInterfaceOrientationMaskLandscape;
}

@end
Game Loop

 [self scheduleUpdate];

 - (void) update:(ccTime)delta
 {
 }
Colisiones

                           boundingBox


CGRectIntersectsRect(self.player.boundingBox, self.ball.boundingBox)
[Demo]
¿Y ahora qué?
Transiciones Game Loop         TexturePacker
             Sprite Batching
 Bitmap Fonts     Game Objects Menús
Sprite Sheets ARC con CCSprite
                                       iPhone 5
Multiple Layers        Texture Atlas
Retina Devices
               Scrolling     Sprite Animations
                       Glyph Designer Audio
        Acelerómetro
 iPad                   Máquinas de estado
¿Y ahora qué?
       www.cocos2d-iphone.org/api-ref/2.0.0/
      www.cocos2d-iphone.org/wiki/doku.php/
             Learn cocos2d 2 - Apress
        Learning Cocos2D - Addison-Wesley
github.com/albertogonzalez/cocos2d-iphone-helloworld
  github.com/albertogonzalez/cocos2d-iphone-blocks
              Probar, probar, probar...
AGBO Training
          cursos@agbo.biz
http://agbo.biz/category/tech/cocos2d/

Más contenido relacionado

Destacado

Episodio de pentesting
Episodio de pentestingEpisodio de pentesting
Episodio de pentesting
akencito
 
Review baroque thru neoclassicism
Review baroque thru neoclassicismReview baroque thru neoclassicism
Review baroque thru neoclassicism
addierprice
 
10 Tips for Using Social Media to Engage Volunteers
10 Tips for Using Social Media to Engage Volunteers10 Tips for Using Social Media to Engage Volunteers
10 Tips for Using Social Media to Engage Volunteers
ISTE
 
Turbocharge Twitter With Apps SMBMTL 082510
Turbocharge Twitter With Apps SMBMTL 082510Turbocharge Twitter With Apps SMBMTL 082510
Turbocharge Twitter With Apps SMBMTL 082510
Adele McAlear
 
Cómo subir una app al app store
Cómo subir una app al app storeCómo subir una app al app store
Cómo subir una app al app store
KeepCoding
 
Elastic Tree: Saving Energy in Data Center Networks
Elastic Tree: Saving Energy in Data Center NetworksElastic Tree: Saving Energy in Data Center Networks
Elastic Tree: Saving Energy in Data Center Networks
Abhishek Sutrave
 
To Study Weld Strength and Strain Energy Absorption of Roll Over Protection S...
To Study Weld Strength and Strain Energy Absorption of Roll Over Protection S...To Study Weld Strength and Strain Energy Absorption of Roll Over Protection S...
To Study Weld Strength and Strain Energy Absorption of Roll Over Protection S...
IOSR Journals
 

Destacado (7)

Episodio de pentesting
Episodio de pentestingEpisodio de pentesting
Episodio de pentesting
 
Review baroque thru neoclassicism
Review baroque thru neoclassicismReview baroque thru neoclassicism
Review baroque thru neoclassicism
 
10 Tips for Using Social Media to Engage Volunteers
10 Tips for Using Social Media to Engage Volunteers10 Tips for Using Social Media to Engage Volunteers
10 Tips for Using Social Media to Engage Volunteers
 
Turbocharge Twitter With Apps SMBMTL 082510
Turbocharge Twitter With Apps SMBMTL 082510Turbocharge Twitter With Apps SMBMTL 082510
Turbocharge Twitter With Apps SMBMTL 082510
 
Cómo subir una app al app store
Cómo subir una app al app storeCómo subir una app al app store
Cómo subir una app al app store
 
Elastic Tree: Saving Energy in Data Center Networks
Elastic Tree: Saving Energy in Data Center NetworksElastic Tree: Saving Energy in Data Center Networks
Elastic Tree: Saving Energy in Data Center Networks
 
To Study Weld Strength and Strain Energy Absorption of Roll Over Protection S...
To Study Weld Strength and Strain Energy Absorption of Roll Over Protection S...To Study Weld Strength and Strain Energy Absorption of Roll Over Protection S...
To Study Weld Strength and Strain Energy Absorption of Roll Over Protection S...
 

Similar a Iniciacion a Cocos2d en @bcndevcon

Desarrollar juegos para Iphone e Ipad con Cocos2D
Desarrollar juegos para Iphone e Ipad con Cocos2DDesarrollar juegos para Iphone e Ipad con Cocos2D
Desarrollar juegos para Iphone e Ipad con Cocos2D
creagamers
 
NSCoder - Metal Collada
NSCoder - Metal ColladaNSCoder - Metal Collada
NSCoder - Metal Collada
NSCoder Mexico
 
Netduino
NetduinoNetduino
Netduino
David Matias
 
Introducción Android NDK
Introducción Android NDKIntroducción Android NDK
Introducción Android NDK
Fe
 
Introducción android ndk
Introducción android ndkIntroducción android ndk
Introducción android ndk
Barcelona GTUG
 
Wearables & Iot - Breve Intro
Wearables & Iot - Breve IntroWearables & Iot - Breve Intro
Wearables & Iot - Breve Intro
Globant
 
Motion Control Computing - Kinect
Motion Control Computing - KinectMotion Control Computing - Kinect
Motion Control Computing - Kinect
Frederick Farfán
 
Visión Artificial, Accesibilidad y Android
Visión Artificial, Accesibilidad y AndroidVisión Artificial, Accesibilidad y Android
Visión Artificial, Accesibilidad y Android
Droidcon Spain
 
Expo kinect
Expo kinectExpo kinect
Expo kinect
campus party
 
NSCoder - Metal
NSCoder - MetalNSCoder - Metal
NSCoder - Metal
NSCoder Mexico
 
Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++
Alincita Simon
 
‌Kinect v2 descripción
‌Kinect v2 descripción‌Kinect v2 descripción
‌Kinect v2 descripción
David López
 
Unity3D para dummies (BcnDevCon 2012)
Unity3D para dummies (BcnDevCon 2012)Unity3D para dummies (BcnDevCon 2012)
Unity3D para dummies (BcnDevCon 2012)
Eduard Tomàs
 
04 android studio
04 android studio04 android studio
04 android studio
JhiZzelh T Cz
 
Interfaces videojuegos
Interfaces videojuegosInterfaces videojuegos
Interfaces videojuegos
Fernando Solis
 
Preguntas ti
Preguntas tiPreguntas ti
Preguntas ti
SalvadorAguileraG
 
2011 05 23 Kinect for Windows SDK
2011 05 23 Kinect for Windows SDK2011 05 23 Kinect for Windows SDK
2011 05 23 Kinect for Windows SDK
Bruno Capuano
 
Meetup app-moviles
Meetup app-movilesMeetup app-moviles
Meetup app-moviles
miguelcarrascoq
 
.Net Conf Sevilla 2018
.Net Conf Sevilla 2018.Net Conf Sevilla 2018
.Net Conf Sevilla 2018
Javier Suárez Ruiz
 
Desvelando el GDK - Droidcon Spain
Desvelando el GDK - Droidcon SpainDesvelando el GDK - Droidcon Spain
Desvelando el GDK - Droidcon Spain
Droidcon Spain
 

Similar a Iniciacion a Cocos2d en @bcndevcon (20)

Desarrollar juegos para Iphone e Ipad con Cocos2D
Desarrollar juegos para Iphone e Ipad con Cocos2DDesarrollar juegos para Iphone e Ipad con Cocos2D
Desarrollar juegos para Iphone e Ipad con Cocos2D
 
NSCoder - Metal Collada
NSCoder - Metal ColladaNSCoder - Metal Collada
NSCoder - Metal Collada
 
Netduino
NetduinoNetduino
Netduino
 
Introducción Android NDK
Introducción Android NDKIntroducción Android NDK
Introducción Android NDK
 
Introducción android ndk
Introducción android ndkIntroducción android ndk
Introducción android ndk
 
Wearables & Iot - Breve Intro
Wearables & Iot - Breve IntroWearables & Iot - Breve Intro
Wearables & Iot - Breve Intro
 
Motion Control Computing - Kinect
Motion Control Computing - KinectMotion Control Computing - Kinect
Motion Control Computing - Kinect
 
Visión Artificial, Accesibilidad y Android
Visión Artificial, Accesibilidad y AndroidVisión Artificial, Accesibilidad y Android
Visión Artificial, Accesibilidad y Android
 
Expo kinect
Expo kinectExpo kinect
Expo kinect
 
NSCoder - Metal
NSCoder - MetalNSCoder - Metal
NSCoder - Metal
 
Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++Manual de Practicas de Open GL con Dev C++
Manual de Practicas de Open GL con Dev C++
 
‌Kinect v2 descripción
‌Kinect v2 descripción‌Kinect v2 descripción
‌Kinect v2 descripción
 
Unity3D para dummies (BcnDevCon 2012)
Unity3D para dummies (BcnDevCon 2012)Unity3D para dummies (BcnDevCon 2012)
Unity3D para dummies (BcnDevCon 2012)
 
04 android studio
04 android studio04 android studio
04 android studio
 
Interfaces videojuegos
Interfaces videojuegosInterfaces videojuegos
Interfaces videojuegos
 
Preguntas ti
Preguntas tiPreguntas ti
Preguntas ti
 
2011 05 23 Kinect for Windows SDK
2011 05 23 Kinect for Windows SDK2011 05 23 Kinect for Windows SDK
2011 05 23 Kinect for Windows SDK
 
Meetup app-moviles
Meetup app-movilesMeetup app-moviles
Meetup app-moviles
 
.Net Conf Sevilla 2018
.Net Conf Sevilla 2018.Net Conf Sevilla 2018
.Net Conf Sevilla 2018
 
Desvelando el GDK - Droidcon Spain
Desvelando el GDK - Droidcon SpainDesvelando el GDK - Droidcon Spain
Desvelando el GDK - Droidcon Spain
 

Último

Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
bendezuperezjimena
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
AMADO SALVADOR
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
larapalaciosmonzon28
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
Miguel Rebollo
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
tamarita881
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 

Último (20)

Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 

Iniciacion a Cocos2d en @bcndevcon

  • 1. Barcelona Developers Conference www.bcndevcon.org Taller de Iniciación en Cocos2D Barcelona 08 de Diciembre 2012 www.agbo.biz
  • 2. cocos2d-iphone Alberto González @agonzalez_net cursos@agbo.biz
  • 3. vs 3D 2D Javascript, C#, Boo Objective-C World Editor 3rd Party Tools Cerrado Open Source 400$ ~ 3000$ 0
  • 4. ¿Qué es cocos2d? Framework para desarrollar juegos 2D, demos y otras aplicaciones gráficas/interactivas. Funciona sobre OpenGL pero no es necesario conocer los entresijos de OpenGL. Incorpora 2 motores de físicas (Chipmunk y Box2D). Incluye la librería de audio CocosDension.
  • 5. ¿Qué no es cocos2d? No incluye ningún tipo de editor visual para mundo, interfaz, escenas, sprites, efectos, fuentes bitmap, etc. ¡Pero existen aplicaciones! :)
  • 8. ¿De dónde viene cocos2d? 2005 PyCon 2008 “Los cocos” Python 2008 cocos2d-iphone v0.1 2012 cocos2d-iphone v2.0
  • 10. cocos2d 2.x vs 1.x Open GL ES 2.0 Open GL ES 1.1
  • 11. cocos2d 2.x Restricciones •iOS >= 4.0OS X >= 10.6 (Snow Leopard)Xcode 4 •LLVM 3.0 o superior
  • 12. cocos2d 2.x Ventajas •Mejor rendimiento •Mejoras en sprites, animaciones, resoluciones retina, integración con los motores de físicas... •Compatible con ARC •Actual rama en desarrollo
  • 13. Instalación • Descargar de www.cocosd2-iphone.org/download • Ejecutar script ./install-templates.sh -f
  • 16. CCScene CCLayer CCSprite
  • 19. Touch Events HelloWorldLayer *layer = [HelloWorldLayer node]; layer.isTouchEnabled = YES; - (void) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event - (void) ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event - (void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event - (void) ccTouchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event - (void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [touches anyObject]; CGPoint touchLocation = [touch locationInView:touch.view]; CGPoint touchLocationGL = [[CCDirector sharedDirector] convertToGL:touchLocation]; // do what needed }
  • 21. Autorotation iOS 6 “Autorotation is changing in iOS 6. In iOS 6, the shouldAutorotateToInterfaceOrientation: method of UIViewController is deprecated. In its place, you should use the supportedInterfaceOrientationsForWindow: and shouldAutorotate methods.”
  • 22. Autorotation iOS 6 @interface MyNavigationController : UINavigationController <CCDirectorDelegate> @end @implementation MyNavigationController // Autorotation (iOS < 6.0) - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return UIInterfaceOrientationIsLandscape(interfaceOrientation); } // Autorotation (iOS >= 6.0) - (BOOL)shouldAutorotate { return YES; } // Autorotation (iOS >= 6.0) - (NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskLandscape; } @end
  • 23. Game Loop [self scheduleUpdate]; - (void) update:(ccTime)delta { }
  • 24. Colisiones boundingBox CGRectIntersectsRect(self.player.boundingBox, self.ball.boundingBox)
  • 26. ¿Y ahora qué? Transiciones Game Loop TexturePacker Sprite Batching Bitmap Fonts Game Objects Menús Sprite Sheets ARC con CCSprite iPhone 5 Multiple Layers Texture Atlas Retina Devices Scrolling Sprite Animations Glyph Designer Audio Acelerómetro iPad Máquinas de estado
  • 27. ¿Y ahora qué? www.cocos2d-iphone.org/api-ref/2.0.0/ www.cocos2d-iphone.org/wiki/doku.php/ Learn cocos2d 2 - Apress Learning Cocos2D - Addison-Wesley github.com/albertogonzalez/cocos2d-iphone-helloworld github.com/albertogonzalez/cocos2d-iphone-blocks Probar, probar, probar...
  • 28. AGBO Training cursos@agbo.biz http://agbo.biz/category/tech/cocos2d/