Criando Jogos 2D com Lua + Corona SDK

6.059 visualizações

Publicada em

Publicada em: Educação
  • Seja o primeiro a comentar

Criando Jogos 2D com Lua + Corona SDK

  1. 1. Autor: Leonardo Dalmina Fonte das Imagens: Walter Luh
  2. 2. Tópicos abordados  Introdução à linguagem Lua;  Introdução à engine Corona SDK;  Uso da library physics;  Cuidados com o gerenciamento da memória;
  3. 3. Tópicos abordados  Organização dos dados para ganhar performance;  Bibliografias recomendadas.
  4. 4. Introdução à linguagem Lua nil boolean number string function table userdata  Sintaxe estilo JavaScript;  Tipagem dinâmica;  Case-sensitive;  Objetos são tabelas.
  5. 5. Pequeno tamanho de código
  6. 6. Lua vs Outras Linguagens
  7. 7. Objetos em Lua são Tabelas
  8. 8. Métodos de Objeto
  9. 9. Sem a abreviação ":"
  10. 10. Arrays baseados em 1
  11. 11. Introdução à engine Corona SDK
  12. 12. Introdução à engine Corona SDK
  13. 13. Introdução à engine Corona SDK
  14. 14. O que é Corona?
  15. 15. Aumento de Produtividade
  16. 16. Multiplataforma
  17. 17. Alta Performance
  18. 18. #1 na maioria das Stores (Lojas)
  19. 19. Não apenas para Jogos
  20. 20. O equilíbro certo
  21. 21. Arquitetura
  22. 22. Corona Enterprise
  23. 23. Mais de 500 APIs
  24. 24. Alta variedade de Recursos
  25. 25. Simulador próprio
  26. 26. Uso simplificado de Bibliotecas
  27. 27. IDEs Recomendadas  Outlaw: http://outlawgametools.com/outlaw-code-editor-and- project-manager/  Lua Glider: http://www.mydevelopersgames.com/Glider/
  28. 28. Exemplo de Implementação
  29. 29. Exemplo de Implementação
  30. 30. Exemplo de Implementação
  31. 31. Exemplo de Implementação
  32. 32. Exemplo de Implementação
  33. 33. Exemplo de Implementação
  34. 34. Exemplo de Implementação
  35. 35. Exemplo de Implementação
  36. 36. Exemplo de Implementação
  37. 37. Exemplo de Implementação
  38. 38. Adicionando mais caixas
  39. 39. Adicionando mais caixas
  40. 40. Adicionando mais caixas
  41. 41. Adicionando mais caixas
  42. 42. Invertendo a Gravidade  Gravidade normal:  Gravidade invertida:
  43. 43. Eventos
  44. 44. Listeners
  45. 45. Tipos de Eventos  enterFrame  system  orientation  accelerometer  GPS  heading  touch  timer
  46. 46. Touch + Multitouch
  47. 47. Múltiplos tamanhos de Tela
  48. 48. Escala de Conteúdo
  49. 49. Escala de Conteúdo
  50. 50. Retina Display
  51. 51. Customizando a Imagem de Retina
  52. 52. API da Imagem de Retina
  53. 53. Uso da library "physics"  Possui muitos recursos;  Facilmente parametrizável;  Representa muito bem a física do ambiente;  Não é recomendada para jogos que não simulem uma física real.
  54. 54. Cuidados com o gerenciamento da memória  Criar rotinas de limpeza para objetos obsoletos;  Ao excluir permanentemente um objeto, sempre incluir além de object:removeSelf(), a atribuição object = nil;  Verificar a consistência dos objetos antes de utilizá-los.
  55. 55. Organização dos dados para ganhar performance  Controlar o nível de complexidade dos algoritmos implementados:  Evitando rotinas exponenciais (n², n³);  Convertendo estas rotinas de modo a deixar a complexidade linear (n log n).
  56. 56. Organização dos dados para ganhar performance  Alterar a estrutura de armazenamento e acesso dos dados para atingir a complexidade linear:  Evitando o uso de listas ou vetores de grande tamanho;  Alocando estes dados em mapas (maps), utilizando o sistema de chave e valor (key, value) através da implementação de tabelas (tables).
  57. 57. Compilações Diárias
  58. 58. Oportunidades de Carreira
  59. 59. Exemplo de Sucesso
  60. 60. Bibliografia Recomendada  Linguagem Lua: http://www.amazon.com/Programming-Third-Edition- Roberto-Ierusalimschy/dp/859037985X/  API do SDK: http://docs.coronalabs.com/api/index.html  Plugins: http://docs.coronalabs.com/plugin/index.html
  61. 61. Bibliografia Recomendada  Guias: http://docs.coronalabs.com/guide/index.html  Tutoriais (Corona University): http://coronalabs.com/resources/tutorials/getting- started-with-corona/  Blog (Indispensável): http://coronalabs.com/blog/
  62. 62. Referências  Entrevista com Robert Nay (Criador do Bubble Ball): https://coronalabs.com/blog/2011/01/18/robert-nay-talks- bubble-ball-before-the-3-million-downloads/  Apresentação original do Walter Luh: http://www.slideshare.net/CoronaLabs/corona-sdk- demo-at-gmic-sv-october-19-2012-14873279  Documentação Oficial do Corona SDK: http://docs.coronalabs.com/

×