62
Autor: Leonardo Dalmina Fonte das Imagens: Walter Luh

Criando Jogos 2D com Lua + Corona SDK

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Criando Jogos 2D com Lua + Corona SDK

Autor:

Leonardo Dalmina

Fonte das Imagens:

Walter Luh

Page 2: Criando Jogos 2D com Lua + Corona SDK

Tópicos abordados

Introdução à linguagem Lua;

Introdução à engine Corona SDK;

Uso da library physics;

Cuidados com o gerenciamento da memória;

Page 3: Criando Jogos 2D com Lua + Corona SDK

Tópicos abordados

Organização dos dados para ganhar performance;

Bibliografias recomendadas.

Page 4: Criando Jogos 2D com Lua + Corona SDK

Introdução à linguagem Lua

nil

boolean

number

string

function

table

userdata

Sintaxe estilo JavaScript;

Tipagem dinâmica;

Case-sensitive;

Objetos são tabelas.

Page 5: Criando Jogos 2D com Lua + Corona SDK

Pequeno tamanho de código

Page 6: Criando Jogos 2D com Lua + Corona SDK

Lua vs Outras Linguagens

Page 7: Criando Jogos 2D com Lua + Corona SDK

Objetos em Lua são Tabelas

Page 8: Criando Jogos 2D com Lua + Corona SDK

Métodos de Objeto

Page 9: Criando Jogos 2D com Lua + Corona SDK

Sem a abreviação ":"

Page 10: Criando Jogos 2D com Lua + Corona SDK

Arrays baseados em 1

Page 11: Criando Jogos 2D com Lua + Corona SDK

Introdução à engine Corona SDK

Page 12: Criando Jogos 2D com Lua + Corona SDK

Introdução à engine Corona SDK

Page 13: Criando Jogos 2D com Lua + Corona SDK

Introdução à engine Corona SDK

Page 14: Criando Jogos 2D com Lua + Corona SDK

O que é Corona?

Page 15: Criando Jogos 2D com Lua + Corona SDK

Aumento de Produtividade

Page 16: Criando Jogos 2D com Lua + Corona SDK

Multiplataforma

Page 17: Criando Jogos 2D com Lua + Corona SDK

Alta Performance

Page 18: Criando Jogos 2D com Lua + Corona SDK

#1 na maioria das Stores (Lojas)

Page 19: Criando Jogos 2D com Lua + Corona SDK

Não apenas para Jogos

Page 20: Criando Jogos 2D com Lua + Corona SDK

O equilíbro certo

Page 21: Criando Jogos 2D com Lua + Corona SDK

Arquitetura

Page 22: Criando Jogos 2D com Lua + Corona SDK

Corona Enterprise

Page 23: Criando Jogos 2D com Lua + Corona SDK

Mais de 500 APIs

Page 24: Criando Jogos 2D com Lua + Corona SDK

Alta variedade de Recursos

Page 25: Criando Jogos 2D com Lua + Corona SDK

Simulador próprio

Page 26: Criando Jogos 2D com Lua + Corona SDK

Uso simplificado de Bibliotecas

Page 28: Criando Jogos 2D com Lua + Corona SDK

Exemplo de Implementação

Page 29: Criando Jogos 2D com Lua + Corona SDK

Exemplo de Implementação

Page 30: Criando Jogos 2D com Lua + Corona SDK

Exemplo de Implementação

Page 31: Criando Jogos 2D com Lua + Corona SDK

Exemplo de Implementação

Page 32: Criando Jogos 2D com Lua + Corona SDK

Exemplo de Implementação

Page 33: Criando Jogos 2D com Lua + Corona SDK

Exemplo de Implementação

Page 34: Criando Jogos 2D com Lua + Corona SDK

Exemplo de Implementação

Page 35: Criando Jogos 2D com Lua + Corona SDK

Exemplo de Implementação

Page 36: Criando Jogos 2D com Lua + Corona SDK

Exemplo de Implementação

Page 37: Criando Jogos 2D com Lua + Corona SDK

Exemplo de Implementação

Page 38: Criando Jogos 2D com Lua + Corona SDK

Adicionando mais caixas

Page 39: Criando Jogos 2D com Lua + Corona SDK

Adicionando mais caixas

Page 40: Criando Jogos 2D com Lua + Corona SDK

Adicionando mais caixas

Page 41: Criando Jogos 2D com Lua + Corona SDK

Adicionando mais caixas

Page 42: Criando Jogos 2D com Lua + Corona SDK

Invertendo a Gravidade

Gravidade normal:

Gravidade invertida:

Page 43: Criando Jogos 2D com Lua + Corona SDK

Eventos

Page 44: Criando Jogos 2D com Lua + Corona SDK

Listeners

Page 45: Criando Jogos 2D com Lua + Corona SDK

Tipos de Eventos

enterFrame

system

orientation

accelerometer

GPS

heading

touch

timer

Page 46: Criando Jogos 2D com Lua + Corona SDK

Touch + Multitouch

Page 47: Criando Jogos 2D com Lua + Corona SDK

Múltiplos tamanhos de Tela

Page 48: Criando Jogos 2D com Lua + Corona SDK

Escala de Conteúdo

Page 49: Criando Jogos 2D com Lua + Corona SDK

Escala de Conteúdo

Page 50: Criando Jogos 2D com Lua + Corona SDK

Retina Display

Page 51: Criando Jogos 2D com Lua + Corona SDK

Customizando a Imagem de Retina

Page 52: Criando Jogos 2D com Lua + Corona SDK

API da Imagem de Retina

Page 53: Criando Jogos 2D com Lua + Corona SDK

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.

Page 54: Criando Jogos 2D com Lua + Corona SDK

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.

Page 55: Criando Jogos 2D com Lua + Corona SDK

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).

Page 56: Criando Jogos 2D com Lua + Corona SDK

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).

Page 57: Criando Jogos 2D com Lua + Corona SDK

Compilações Diárias

Page 58: Criando Jogos 2D com Lua + Corona SDK

Oportunidades de Carreira

Page 59: Criando Jogos 2D com Lua + Corona SDK

Exemplo de Sucesso

Page 60: Criando Jogos 2D com Lua + Corona SDK

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

Page 61: Criando Jogos 2D com Lua + Corona SDK

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/

Page 62: Criando Jogos 2D com Lua + Corona SDK

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/