Boa tarde, pessoal!
Gostaria de saber se existe alguma diferença entre essas duas formas de instanciar um objeto:Image face1 = new ImageIcon("src/img/001.png").getImage();ouImage face1;
face1 = new ImageIcon("src/img/001.png").getImage();De onde vem minha dúvida? Bem, estive acompanhando uns tutoriais de criação de jogos e me deparei com a situação de que ao criar uma animação básica com dois frames (duas imagens) a animação para mim não aparece como deveria. Fica somente no segundo quadro da animação. Intrigado com esse fato comecei a fuçar o código tentando concertar e adicionei a linha 05 no trecho abaixo (reinstanciei o objeto com a mesma imagem) e isso resolveu o problema. // Carrega Imagens
public void loadPics(){
bg = new ImageIcon("src/img/fundo.png").getImage();
Image face1 = new ImageIcon("src/img/001.png").getImage();
face1 = new ImageIcon("src/img/001.png").getImage();
Image face2 = new ImageIcon("src/img/002.png").getImage();
a = new Animation();
a.addScene(face1, 250);
a.addScene(face2, 250);
}Em seguida o refiz assim: // Carrega Imagens
public void loadPics(){
bg = new ImageIcon("src/img/fundo.png").getImage();
Image face1;
face1 = new ImageIcon("src/img/001.png").getImage();
Image face2 = new ImageIcon("src/img/002.png").getImage();
a = new Animation();
a.addScene(face1, 250);
a.addScene(face2, 250);
}
E a animação aconteceu corretamente.
Existe alguma explicação para o que aconteceu? Esta situação não aconteceu na máquina que rodava o tutorial, que estava em ambiente Windows e eu estou em ambiente Linux, esse pode ser um dos motivos?
Abraço!