GAME API
GAME API
Conjunto com 5 classes que simplificam o
desenvolvimento de jogos 2D
Provêem 2 importantes funcionalidades
GameCanvas
Estruturação do jogo em camadas
GAMECANVAS
Subclasse
de Canvas
Fornece offscreen buffer
Armazena o estado de pressionamento das
teclas, podendo serem consultados a
qualquer momento
int keyState = getKeyStates();
if ((keyState & LEFT_PRESSED) != 0) {
sprite.move(-1, 0);
}
LOOP DE JOGO COM CANVAS
public class MicroTankCanvas extends Canvas implements Runnable {
public void run() {
while (true) {
// Update the game state.
repaint();
// Delay one time step.
}
}
public void paint(Graphics g) {
// Painting code goes here.
}
protected void keyPressed(int keyCode) {
// Respond to key presses here.
}
}
LOOP DE JOGO COM GAMECANVAS
public class MicroTankCanvas extends GameCanvas
implements Runnable {
public void run() {
Graphics g = getGraphics();
while (true) {
// Update the game state.
int keyState = getKeyStates();
// Respond to key presses here.
// Painting code goes here.
flushGraphics();
// Delay one time step.
}
}
}
LAYER
Representa um elemento visual do jogo
Possui posição relativa à tela (x,y) além de
dimensões (largura, altura)
Método paint a ser implementado
Em um dado momento pode estar visível ou não
LAYERMANAGER
Gerencia uma série de layers
Define a ordem na qual os layers são
renderizados e em qual região da tela
Simplifica o processo de renderização
Define regiões em relação ao eixo-z
LAYER - MÉTODOS
int getHeight()
int getWidth()
int getX()
int getY()
paint(Graphics g)
setVisible(boolean visible)
TILEDLAYER
TILEDLAYER – CONT.
TILEDLAYER - MÉTODOS
TiledLayer (int columns, int rows, Image image,
int tileWidth, int tileHeight)
int getCell (int col, int row)
paint (Graphics g)
setCell (int col, int row, int tileIndex)
LAYERMANAGER – CONT.
LAYERMANAGER - MÉTODOS
void append (Layer l)
Layer getLayerAt (int index)
void insert (Layer l, int index)
paint (Graphics g, int x, int y)
setViewWindow (int x, int y, int width,
int height)
SPRITE
Elemento visual do jogo que pode ser renderizado
a partir de um ou mais frames
Possui métodos para rotação, colisão e animação