Medição de tempo para animação

3 respostas
E

Olá pessoal! Primeira visita aqui… :oops:

Preciso fazer animações em um objeto Graphics2D, só que pra isso eu preciso medir o tempo das animações (por exemplo, mover um objeto no eixo y 100 pixels durante 1 segundo). Existe alguma classe na API padrão que implemente essa contagem de tempo mais simples, ou eu vou ter q usar uma Time ou Date da vida e pegar só os segundos dela? :shock:

Ah, e outra coisa…se essa solução for um lixo, existe alguma biblioteca na API padrão específica para animação, do tipo “divida esse movimento em 30 quadros durante 1 segundo” ou eu to querendo demais? :?:

[]'s e obrigado pela atenção

3 Respostas

caiofilipini

Dê uma olhada na classe javax.swing.Timer:

http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/Timer.html

[]'s

louds

Com java padrão voce tem System.currentTimeMillis(), que te retorna, em milisegundos, a data atual segundo o padrão UTC.

Porem essa função pode sofrer com problemas de imprecisão devido à natureza como ela é implementada nos varios SO’s.

Se voce precisa de Timers com resolução e precisão suficiente para fazer animação, recomendo olhar no JMF, lá, sem dúvida alguma deve ter algum suporte para isso.

E

A classe javax.swing.Timer é perfeita! :lol:

Com o método System.currentTimeMillis() tb dá, só que a Timer já tem mais coisas prontas e uma trilha no tutorial da Sun só pra ela…tem alguns links tb tipo “como fazer animações com base em Timer”, exatamente o que eu queria!

Muito obrigado, pessoal

Criado 20 de agosto de 2003
Ultima resposta 20 de ago. de 2003
Respostas 3
Participantes 3