gerar um Delay ?  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
domingosbernardo
Debugger

Membro desde: 02/05/2006 09:52:22
Mensagens: 57
Localização: São Paulo
Offline

Olá a todos,

Estou fazendo um jogo simples em Java, chamado Tron, acredito que ja existam varias versões em Java, mais foi a forma que encontrei de aprender mais JAVA. Estou fazendo todos os exemplos do Livro CoreJava, e com o conhecimento adquirido venho fazendo o programa.

Minha duvida é a seguinte, estou fazendo uma explosão, claro muito simples, para quando a moto colidir com uma parede. A explosão são varias Elipses que vão crescendo de tamanho, onde existe um comando for que é incrementado aumento o tamanho do desenho da nova Ellipse, após o incremento acrescento a Elipse em ArrayList, em seguida um repaint(). O que gostaria de saber é como posso gerar um delay antes de cada repaint()?

Tentei fazer de uma forma no minimo estranha... ou pior, desculpem, mais foi acrescentando um outro comando for com um ";" no final, porém não funcionou, alguem pode dar uma dica ?

Domingos Bernardo Gomes Santos
Laboratório de Sensores Ópticos - LSO
Departamento de Engenharia de Energia e Automação Elétricas - PEA / POLI - USP
[WWW] [Yahoo!] [MSN]
jmarques
Smalltalk

Membro desde: 11/05/2006 15:01:07
Mensagens: 1
Offline

Olá,

Experimente isto, após o repaint():

// faz um intervalo de 0,5 segundos (500 milionesimos de segundo) entre cada execução
try
{
Thread.sleep (500);
} catch (InterruptedException e) {};

Um abraço,
ciczan
JavaGuru
[Avatar]

Membro desde: 22/12/2004 12:57:21
Mensagens: 227
Localização: Curitiba -PR
Offline

Tem um artigo bem completo sobre isso aqui:
http://java.sun.com/developer/technicalArticles/Media/timing/index.html

Ele usa a classe java.util.Timer ou a javax.swing.Timer. A diferença é que a última usa a thread do swing.

Adaptei esse código do artigo:

[MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team