Como fazer um GIF ficar em Loop infinito

1 resposta
java7javafxjavascriptjavajavaweb
T

Sou novo no Java, isso pode ser simples, mas estou fazendo um projeto simples de um jogo no JAVA, fiz um GIF para ser o background do meu jogo, porem ele só funciona a primeira vez e depois fica estático, queria deixar ele repetindo sempre que acaba e fazer um " loop infinito", poderiam me ajudar? não achei em lugar algum

package solaradventure.modelos;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.Timer;
import javax.swing.ImageIcon;
import javax.swing.JPanel;

public class Fase extends JPanel implements ActionListener {

	private Image fundo;
	private Nave nave;
	private javax.swing.Timer tempo;

	public Fase() {
		setDoubleBuffered(true);
		setFocusable(true);
		addKeyListener(new TecladoAdapter());
		ImageIcon ref = new ImageIcon("resources\\fase1universo.gif");
		fundo = ref.getImage();

		nave = new Nave();

		tempo = new javax.swing.Timer(5, this);
		tempo.start();

	}

	public void paint(Graphics g) {
		Graphics2D graficos = (Graphics2D) g;
		graficos.drawImage(fundo, 0, 0, null);
		graficos.drawImage(nave.getImagemNave1(), nave.getX(), nave.getY(), this);
		g.dispose();
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		nave.movement();
		repaint();

	}

	private class TecladoAdapter extends KeyAdapter {

		@Override
		public void keyPressed(KeyEvent e) {
			nave.keyPressed(e);
		}

		@Override
		public void keyReleased(KeyEvent e) {
			nave.keyReleased(e);
		}

	}

}

1 Resposta

rodriguesabner

Na verdade, o gif sempre fica no loop infinito, eu mesmo uso, apenas coloco ele e nunca para, eu preciso usar um Timer pra dps de X segundos, ele trocar por algo estático.

Criado 6 de maio de 2019
Ultima resposta 7 de mai. de 2019
Respostas 1
Participantes 2