Java Games 2D

1 resposta
N

Estava tentando fazer um jogo simples, algo do tipo Pong, usando a API 2D do Java.
Mas os tutoriais da web são muito ruins, e os fontes disponíveis são mal documentados.
Enfim:

Quero que o jogo seja exibido num JFrame, nada de JApplet.
Eu não posso desenhar as imagens direto no JFrame, tenho que desenhar em outro container e adicionar esse container ao JFrame?
No loop principal do jogo no JFrame é melhor chamar o método paint de cada Imagem criada ou nesse próprio loop mando desenhar todas as imagens?
E se for chamar o método paint de cada imagem nas outras classes como do JFrame eu vou passar ‘g’ de (Graphics g) para esses métodos? Ex:

class Sprite() {

...

   public void desenhar(Graphics g)  {

      g.drawImage(sprite, x, y, ImageObserver);   

   }  

...

}

Como do meu JFrame eu vou passar ‘g’ ao chamar desenhar da classe Sprite?

Obrigado.

1 Resposta

S

Ola

Voce poderia fazer os sprites herdando JComponent e sobreescrevendo o método paint() dos mesmo como voce criou o seu desenhar e usar um metodo do tipo setX(int x) ou set Position(int x,int y) e neles chamar o metodo update assim toda vez q atualizar o valor de x ou da posicao ira atualizar o desenho

class Sprite() extends JComponent {  
    
    int x ,y;
   
    public void Sprite(){
     
    x = 10; // Posição x inicial
    y = 10; // Posição y inicial
    
    }

    public void setX(int x){
    this.x = x;
    this.update();
    }

    public void setY(int y){
    this.y = y;
    this.update();
    }

    public void setPosition(int x, int y){
    this.x = x;
    this.y = y;
    this.update();
    }
    public void paint(Graphics g)  {  
         g.drawImage(sprite, x, y, ImageObserver);     
    }    

}

Isso deve fazer o que você quer…

Criado 20 de março de 2008
Ultima resposta 23 de mar. de 2008
Respostas 1
Participantes 2