criando jogos 2d com lua + corona sdk
Post on 01-Dec-2014
1.146 Views
Preview:
DESCRIPTION
TRANSCRIPT
Autor:
Leonardo Dalmina
Fonte das Imagens:
Walter Luh
Tópicos abordados
Introdução à linguagem Lua;
Introdução à engine Corona SDK;
Uso da library physics;
Cuidados com o gerenciamento da memória;
Tópicos abordados
Organização dos dados para ganhar performance;
Bibliografias recomendadas.
Introdução à linguagem Lua
nil
boolean
number
string
function
table
userdata
Sintaxe estilo JavaScript;
Tipagem dinâmica;
Case-sensitive;
Objetos são tabelas.
Pequeno tamanho de código
Lua vs Outras Linguagens
Objetos em Lua são Tabelas
Métodos de Objeto
Sem a abreviação ":"
Arrays baseados em 1
Introdução à engine Corona SDK
Introdução à engine Corona SDK
Introdução à engine Corona SDK
O que é Corona?
Aumento de Produtividade
Multiplataforma
Alta Performance
#1 na maioria das Stores (Lojas)
Não apenas para Jogos
O equilíbro certo
Arquitetura
Corona Enterprise
Mais de 500 APIs
Alta variedade de Recursos
Simulador próprio
Uso simplificado de Bibliotecas
IDEs Recomendadas
Outlaw:
http://outlawgametools.com/outlaw-code-editor-and-project-manager/
Lua Glider:
http://www.mydevelopersgames.com/Glider/
Exemplo de Implementação
Exemplo de Implementação
Exemplo de Implementação
Exemplo de Implementação
Exemplo de Implementação
Exemplo de Implementação
Exemplo de Implementação
Exemplo de Implementação
Exemplo de Implementação
Exemplo de Implementação
Adicionando mais caixas
Adicionando mais caixas
Adicionando mais caixas
Adicionando mais caixas
Invertendo a Gravidade
Gravidade normal:
Gravidade invertida:
Eventos
Listeners
Tipos de Eventos
enterFrame
system
orientation
accelerometer
GPS
heading
touch
timer
Touch + Multitouch
Múltiplos tamanhos de Tela
Escala de Conteúdo
Escala de Conteúdo
Retina Display
Customizando a Imagem de Retina
API da Imagem de Retina
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.
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.
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).
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).
Compilações Diárias
Oportunidades de Carreira
Exemplo de Sucesso
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
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/
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/
top related