Iniciacion a Cocos2d en @bcndevcon

1,018 views
913 views

Published on

Cocos2D es una librería que permite usar OpenGL para desarrollos 2D sin necesidad de profundizar en la complejidad de una librería 3D. Opción ideal si tienes experiencia en Objective C y quieres empezar de manera sólida en la programación de videojuegos para iPad & iPhone, pero aspiras igualmente avanzar con cierta rapidez.
Disfruta de este Taller de Iniciación a Cocos2D impartido por nuestro Expert Game Programmer, y si te quedas con ganas de más, te puedes matricular en el Curso Cocos2D conducido por el mismo Chef http://agbo.biz/tech/curso-cocos2d-basico/
Además puedes encontrar el código de los ejemplos en:
https://github.com/albertogonzalez/cocos2d-iphone-helloworld
https://github.com/albertogonzalez/cocos2d-iphone-blocks

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,018
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Iniciacion a Cocos2d en @bcndevcon

  1. 1. Barcelona Developers Conference www.bcndevcon.org Taller de Iniciación en Cocos2D Barcelona 08 de Diciembre 2012 www.agbo.biz
  2. 2. cocos2d-iphone Alberto González @agonzalez_net cursos@agbo.biz
  3. 3. vs 3D 2DJavascript, C#, Boo Objective-C World Editor 3rd Party Tools Cerrado Open Source 400$ ~ 3000$ 0
  4. 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. 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! :)
  6. 6. Algunos Ejemplos
  7. 7. Algunos Ejemplos
  8. 8. ¿De dónde viene cocos2d? 2005 PyCon 2008 “Los cocos” Python 2008 cocos2d-iphone v0.1 2012 cocos2d-iphone v2.0
  9. 9. Familia cocos2d
  10. 10. cocos2d 2.x vs 1.x Open GL ES 2.0 Open GL ES 1.1
  11. 11. cocos2d 2.x Restricciones•iOS >= 4.0OS X >= 10.6 (SnowLeopard)Xcode 4•LLVM 3.0 o superior
  12. 12. cocos2d 2.x Ventajas•Mejor rendimiento•Mejoras en sprites, animaciones,resoluciones retina, integración con losmotores de físicas...•Compatible con ARC•Actual rama en desarrollo
  13. 13. Instalación• Descargar de www.cocosd2-iphone.org/download• Ejecutar script ./install-templates.sh -f
  14. 14. [Demo]
  15. 15. CCNode
  16. 16. CCScene CCLayer CCSprite
  17. 17. CCAction
  18. 18. [Demo]
  19. 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}
  20. 20. [Demo]
  21. 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. 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. 23. Game Loop [self scheduleUpdate]; - (void) update:(ccTime)delta { }
  24. 24. Colisiones boundingBoxCGRectIntersectsRect(self.player.boundingBox, self.ball.boundingBox)
  25. 25. [Demo]
  26. 26. ¿Y ahora qué?Transiciones Game Loop TexturePacker Sprite Batching Bitmap Fonts Game Objects MenúsSprite Sheets ARC con CCSprite iPhone 5Multiple Layers Texture AtlasRetina Devices Scrolling Sprite Animations Glyph Designer Audio Acelerómetro iPad Máquinas de estado
  27. 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-Wesleygithub.com/albertogonzalez/cocos2d-iphone-helloworld github.com/albertogonzalez/cocos2d-iphone-blocks Probar, probar, probar...
  28. 28. AGBO Training cursos@agbo.bizhttp://agbo.biz/category/tech/cocos2d/

×