Olá grandes mestres do Java!
Gostaria de saber se o que estou fazendo é o correto...
Estou tentando criar algum tipo de framework para jogos... bom, ele até agora só desenha na tela... mas vamos lá. O método que estou usando é o seguinte:
Eu crio uma thread para rodar, por exemplo, 60 vezes por segundo. Cada vez que esse tempo passa, eu atualizo as posições dos objetos na tela e chamo um métooo que chamei de draw(). Este método lê o java.awt.Graphics que está fora da tela, desenha nele, e manda mostrar.
public void draw() {
Graphics graphics;
Iterator iterator;
GameObject actor;
sortGameObjects();
graphics = displayManager.getDrawGraphics();
iterator = objectsList.iterator();
while (iterator.hasNext()) {
actor = (GameObject) iterator.next();
actor.paint(graphics);
}
graphics.dispose();
displayManager.show();
}
A sim, esta classe é filha de um JPanel, e o displayManager.getDrawGraphics() e show() usam os métodos da classe BufferStrategy, do Java 1.4, para usar page flipping ou double buffer de maneira mais rápida.
Bom, então queria saber se está certo ou devo somente sobrescrever o método paint() que aí já irei obter double buffer e page flipping... esta parte é que não entendo direito...
Falou e obrigado antecipado ^__^
