Jogo BreakOut

2 respostas
lucasaquiles

e aí, galera!

bom, sou novo aqui no GUJ,
tenho um trabalho de faculdade pra entregar e estou encontrando algumas dificuldades durante o desenvolvimento dele. O jogo é o famoso BreakOut (arkanoid), a maior dificuldade que estou encontrando é em fazer a bola se movimentar de acordo com o ponto de interseção dela com a barra e quanto a criação dos blocos.

postei aqui um dos métodos de movimentação da bola;
public void moveBaixo(){
        baixo = new Timer(1, new ActionListener() {
        
            public void actionPerformed(ActionEvent e) {
               bola.setLocation(bola.getX(),bola.getY()+1);
               if(bola.getBounds().intersects(barraBaixo.getBounds())){
                   baixo.stop();
                   jLabel1.setText(" bola-x "+bola.getBounds().x+"\n bola-y"+bola.getBounds().y);
               }
            }
        });
    }

crição dos blocos .. a principio não foi acusado nenhum erro, mas não consigo visualizar os blocos no jPanel

import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;

class Blocos {

    private Container c;
    private ImageIcon alvos[];
    private JPanel painelBlocos;
    private JLabel labelBlocos[];


    public Blocos(){
        
        this.alvos = new ImageIcon[2];
        for(int i=0; i < alvos.length; i++){
            
            alvos[i] = new ImageIcon("bloco"+i+".png");
        }
       
        this.labelBlocos = new JLabel[2];
        for(int i=0; i < labelBlocos.length; i++){
            labelBlocos[i] = new JLabel(alvos[i]);
        }

        for(int i=0; i < 2; i++){
            painelBlocos.add(labelBlocos[i]);
        }
          
        
           }
}

aguardando sujestões :wink: !
abraço!

2 Respostas

Marky.Vasconcelos

Um pouco de matematica vetorial resolveria seu problema da bola. Estude um pouco.

Agora que voce esta nessa area seria mais interessante usar o Java2D invés desses ImageIcons que voce ta usando.

PS: Devia postar no Java Básico ou Avançado.

lucasaquiles

opa, valeu pela dica, cara!

mas já tava dando olhada nisso também, tava tentando encontrar um método que me retornasse a posição em que a bola está intercedendo na barra …
algo tipo .intersects() ou .intercection(); mas não estou conseguindo encontrar …

abraço!

Criado 14 de abril de 2009
Ultima resposta 17 de abr. de 2009
Respostas 2
Participantes 2