Distorções na imagem quando ela roda, no JFrame

2 respostas
Androxus
ImageIcon imagem = new ImageIcon("res\\gameover.png");
        graficos.drawImage(imagem.getImage(), 0, 0, this);

Quando esse bloco é executado, a imagem aparece com erro, suas dimensões são distorcidas; ela sai da tela um pouco, isso quando não fica encolhida.
Gostaria de saber se o erro está no código acima. Se sim, queria saber se existe um meio de consertar isso.

2 Respostas

staroski

Sem ver o código completo, fica difícil responder.

Está sobrescrevendo o paintComponent ou o paint?

Você não deveria ficar criando ImageIcon dentro do seu método de renderização.

Aliás, nem se usa ImageIcon pra isso, você só precisa de um objeto do tipo Image.

Inicialize ele fora do método de renderização e depois reutilize a mesma instância.

Androxus
 usando o painComponet

<a class="mention" href="/u/override">@Override</a>

public void paintComponent(Graphics g){

Graphics2D graficos = (Graphics2D) g;

if(emJogo == true){

graficos.drawImage(fundo, 0, 0, null);

graficos.drawImage(player.getImagem(), player.getX(), player.getY(), this);

List tiros = player.getTiros();

for(int i = 0; i < tiros.size(); i++){

Tiro m = tiros.get(i);

m.load();

graficos.drawImage(m.getImagem(), m.getX(), m.getY(), this);

}

for(int j = 0; j < enemy1.size(); j++){

Enemy1 in = enemy1.get(j);

in.load();

graficos.drawImage(in.getImagem(), in.getX(), in.getY(), this);

}

} else {

ImageIcon imagem = new ImageIcon(“res\gameover.png”);

graficos.drawImage(imagem.getImage(), 0, 0, this);

}

g.dispose();
}
Criado 23 de fevereiro de 2022
Ultima resposta 24 de fev. de 2022
Respostas 2
Participantes 2