Graphics Capabilities of Java PlatformMichel Alves
This report aims to show the functioning of the graphics capabilities of the platform JAVA programming offers, detailing its implementation, communication with the operating system, classes available and their use. Both have tackled Swing AWT as: its main features, drawing mode, addressing performance and portability, as well as their differences. Emphasis will be given to Swing, due to new components offered that solve some problems encountered in the use of AWT. Are some examples of panels, using Swing components of the package.
Graphics Capabilities of Java PlatformMichel Alves
This report aims to show the functioning of the graphics capabilities of the platform JAVA programming offers, detailing its implementation, communication with the operating system, classes available and their use. Both have tackled Swing AWT as: its main features, drawing mode, addressing performance and portability, as well as their differences. Emphasis will be given to Swing, due to new components offered that solve some problems encountered in the use of AWT. Are some examples of panels, using Swing components of the package.
Este Slide foi feito para uma palestra sobre Jogos Digitais em Java, mostrando padrões e similaridades existentes em diferentes abientes, como por exemplo (Criando um jogo em Java no Android ou PC).
Palestra sobre JavaFX 1.2 apresentada no Sun Day da II Semana da Computação da UFPB. Apresenta uma introdução sobre JavaFX e as novidades do JavaFX 1.2.
Júlio Pescuite - Advanced Topics for Game DevelopersiMasters
Palestra de Júlio Pescuite no InterCon Dev - Android, em setembro de 2013, sobre Advanced Topics for Game Developers. Saiba mais em: http://intercon.imasters.com.br/dev/android/
A plataforma Java ME é ótima para desenvolver jogos pois possui uma API especial para isso tornando o desenvolvimento do jogo algo rápido e com qualidade. Esse webinar mostra os conceitos básicos para fazer um jogo em Java ME.
Este Slide foi feito para uma palestra sobre Jogos Digitais em Java, mostrando padrões e similaridades existentes em diferentes abientes, como por exemplo (Criando um jogo em Java no Android ou PC).
Palestra sobre JavaFX 1.2 apresentada no Sun Day da II Semana da Computação da UFPB. Apresenta uma introdução sobre JavaFX e as novidades do JavaFX 1.2.
Júlio Pescuite - Advanced Topics for Game DevelopersiMasters
Palestra de Júlio Pescuite no InterCon Dev - Android, em setembro de 2013, sobre Advanced Topics for Game Developers. Saiba mais em: http://intercon.imasters.com.br/dev/android/
A plataforma Java ME é ótima para desenvolver jogos pois possui uma API especial para isso tornando o desenvolvimento do jogo algo rápido e com qualidade. Esse webinar mostra os conceitos básicos para fazer um jogo em Java ME.
2. Objetivo
Desenvolver jogos 2D para dispositivos móveis através do uso
da Game API do JavaME (MIDP 2.0).
Organize with Sections
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.
3. Roteiro de Aula
O Game
A Game API Indo para a Builder e
Prática Exemplos
Adicionais
Introdução a Game API do JavaME
4. A Game API
Descrição das Classes e como usá-las
6. 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.
Classe GameCanvas
Primeiro benefício em
relação a Canvas:
GameCanvas possui a
técnica de Double
Buffering implementada.
7. Que outros benefícios possui GameCanvas?
Com GameCanvas, é possível verificar as teclas pressionadas e
atualizar a tela a qualquer momento.
Classe GameCanvas
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.
8. E como isso funciona na prática?
GameCanvas implementa a interface Runnable e o LOOP do
jogo fica no método run().
Classe GameCanvas
9. A classe Layer é
abstrata e representa
qualquer elemento
visual da Game API
(incluindo os Sprites
citados anteriormente).
Layer possui alguns
Classe Layer métodos comuns a
todos os elementos
visuais da Game API,
conforme mostrado no
lado esquerdo.
10. Classe Sprite
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).
11. 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
Classe Sprite
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.
12. 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().
Classe Sprite
13. 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).
14. 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.
15. Indo para a Prática
Construindo um LOOP de jogo simples com a Game API