[Java]Animando imagens com java: update VS Swing Timer  Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Aldeia RPG
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

[Java]Animando imagens com java: update VS Swing Timer

Ir para baixo

[Java]Animando imagens com java: update VS Swing Timer  Empty [Java]Animando imagens com java: update VS Swing Timer

Mensagem por CDZ Dom Mar 17, 2019 11:08 pm

Tipo: Tutorial
Nível: Intermediário.
Linguagem: java.
Contato e mais informações:  https://lucasindiesh1p.wordpress.com/ 
Mais tutorais sobre:  https://lucasindiesh1p.wordpress.com/2019/03/17/animacao-java-update-vs-swing-timer/


Na animação em java, sobreescrever o update ou utilizar o Swing Timer?
Ambos ( sobrescrever o update padrão do Swing ou usar o Swing Timer)não são tão bons se comparados ao uso do Utility Timer ou uso de Thread.
Mas o Swing Timer leva vantagem para fazer animações em jogos, pois se for utilizar sobre o update, ou seja, somente sobrescrever o update, ficará mais difícil controlar o tempo da animação. O Swing Timer já disponibiliza um parâmetro ao instancia-lo, para dizer qual a velocidade da animação.
Exemplo:

timer = new Timer(DELAY, this);// aqui podemos controlar a velocidade da animação, através da variável DELAY.
timer.start(); //O método actionPerformed() é automaticamente e repetidamente invocado pelo uso do timer.
Meus projetos que utilizam das duas formas:
Utilizando o update: Projeto ABatalha versão1
Utilizando o Swing Timer: Projeto ABatalha versão2

Imagens:
[Java]Animando imagens com java: update VS Swing Timer  Vers1
[Java]Animando imagens com java: update VS Swing Timer  Vers2
Notas:
Para utilizar o Swing Timer, será necessário sobreescrever o método ActionPerformed, isso significa que também terá que implementar a interface ActionListener na classe.
ActionPerfomed é herdado da interface ActionListener, e o Swing Timer precisa que a classe implemente essa interface, pois o Swing Timer é um loop que chama repetidamente o método ActionPerfomed para fazer o loop.
 
 
Referências:
https://docs.oracle.com/javase/7/docs/api/javax/swing/Timer.html

https://docs.oracle.com/javase/7/docs/api/java/awt/event/ActionListener.html
http://zetcode.com
CDZ
CDZ
Novato
Novato

Mensagens : 22
Créditos : 0

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos