Introdução a game api do java me

19
Erisvaldo Gadelha Saraiva Júnior Introdução a Game API JavaME Contato: [email protected]

Transcript of Introdução a game api do java me

Page 1: Introdução a game api do java me

Erisvaldo Gadelha Saraiva Júnior

Introdução a Game API

JavaME

Contato: [email protected]

Page 2: Introdução a game api do java me

Org

aniz

e w

ith

Se

ctio

ns

Objetivo Desenvolver jogos 2D para dispositivos móveis através do uso da Game API do JavaME (MIDP 2.0).

Imagens do SilvesterMob, RPG educacional para o aprendizado de Geografia desenvolvido no LabTEVE (Laboratório de Tecnologias para o Ensino Virtual e Estatística), UFPB.

Page 3: Introdução a game api do java me

Roteiro de Aula

Introdução a Game API do JavaME

A Game API

Indo para a Prática

O Game Builder e Exemplos Adicionais

Page 4: Introdução a game api do java me

A Game API

Descrição das Classes e como usá-las

Page 5: Introdução a game api do java me

Estrutura EXPANDIDA de classes do MIDP

Page 6: Introdução a game api do java me

Cla

sse

Gam

eC

anva

s O que é a classe GameCanvas? Trata-se de uma especialização da classe Canvas que possui uma série de melhorias para o desenvolvimento de jogos.

Primeiro benefício em relação a Canvas: GameCanvas possui a técnica de Double Buffering implementada.

Page 7: Introdução a game api do java me

Cla

sse

Gam

eC

anva

s Que outros benefícios possui GameCanvas? Com GameCanvas, é possível verificar as teclas pressionadas e atualizar a tela a qualquer momento.

GameCanvas, ao contrário de Canvas, não força o programador a utilizar os métodos paint() e keyPressed() para desenhar na tela e verificar as teclas pressionadas, respectivamente. Com GameCanvas, o programador tem liberdade para atualizar a tela e/ou verificar teclas pressionadas a qualquer momento do LOOP do jogo. Além disso, com GameCanvas é possível detectar várias teclas pressionadas ao mesmo tempo, ao contrário de Canvas.

Page 8: Introdução a game api do java me

Cla

sse

Gam

eC

anva

s E como isso funciona na prática? GameCanvas implementa a interface Runnable e o LOOP do jogo fica no método run().

Page 9: Introdução a game api do java me

A classe Layer é abstrata e representa qualquer elemento visual da Game API (incluindo os Sprites citados anteriormente). Layer possui alguns métodos comuns a todos os elementos visuais da Game API, conforme mostrado no lado esquerdo.

Classe Layer

Page 10: Introdução a game api do java me

Classe que representa uma imagem (geralmente animada) no jogo, como por exemplo os personagens, arbustos, itens, etc;

A sua principal característica é o suporte a frames e animação;

Possui detecção de colisão já implementada, tanto por caixa quanto pixel-a-pixel. Suporta algumas transformações sobre a imagem (Espelhamento, giro 90°, 180°, 270°, etc).

Classe Sprite

Page 11: Introdução a game api do java me

Cla

sse

Sp

rite

Como funciona a questão dos Frames e a Animação? A imagem pode ser dividida em N partes, sendo cada uma dessas partes um frame. Todos os frames precisam ter o mesmo tamanho.

A navegação entre os frames pode ser feita através dos métodos nextFrame(), prevFrame() e setFrame(). Esse último recebe como parâmetro o número do frame que deve ser utilizado no momento.

Page 12: Introdução a game api do java me

Cla

sse

Sp

rite

E quanto às transformações? As transformações são realizadas pelo método setTransform() e se baseiam em um ponto de referência definido por setRefPixelPosition().

Page 13: Introdução a game api do java me

Classe TiledLayer

Usada geralmente para representar mapas, utilizando um array bidimensional com índices de imagens. Suporta tiles animadas (efeito de água se movimentando, arbusto sob efeito de evento, etc).

Page 14: Introdução a game api do java me

Classe LayerManager

Responsável por gerenciar todos os Layers (camadas) do jogo. Pode-se definir a posição de cada camada, adicionar ou remover camadas, etc.

Page 15: Introdução a game api do java me

Indo para a Prática

Construindo um LOOP de jogo simples com a Game API

Page 16: Introdução a game api do java me

Como funciona um

GAME LOOP?

Page 17: Introdução a game api do java me

Código Game Loop

Page 18: Introdução a game api do java me

O Game Builder e Exemplos Adicionais

A ferramenta de criação de jogos Game Builder do NetBeans e Exemplos Adicionais

Page 19: Introdução a game api do java me

What’s Your Message? OBRIGADO!