Tempo
No pacote do JPlay temos um contador de tempo no seguinte formato:
1 - Construtores da classe Time
public Time(int x, int y, boolean crescentTime);
Para esse construtor devem ser passadas as posições (x,y) de onde o tempo será desenhado na tela e se o Time será usado como um cronômetro regressivo ou progressivo.
Para funcionar como um cronômetro regressivo na opção, boolean crescentTime, passe o valor false. Para funcionar como um cronômetro progressivo passe o valor true.
Exemplo:
Time tempo = new Time(100,100, true); X = 100, Y = 100, Cronômetro progressivo. Time tempo = new Time(100,100, false); X = 100, Y = 100, Cronômetro regressivo.
No construtor abaixo temos que passar o valor da hora, minuto e segundo que serão usados além da posição onde o tempo será desenhado.
public Time( int hour, int minute, int second, int x, int y );
Exemplo:
//Tempo igual a 5 minutos //hora = 0, minuto = 5, segundo = 0, x = 456, y = 329, tempo decrescente ou cronômetro regressivo. Time tempo = new Time(0,5,0, 456, 329, false);
No cosntrutor abaixo temos a liberdade de escolher a cor e a fonte que serão usadas para exibir o tempo.
public Time(int hour, int minute, int second, int x, int y, Font font, Color color, boolean crescentTime);
Exemplo:
//public Time( int hour, int minute, int second, int x, int y, Font font, Color color, boolean crescentTime ) Font fonte = new Font("Comic Sans MS", Font. TRUETYPE_FONT, 40); Time tempo = new Time( 1, 23, 34, 100, 100, fonte , Color.Yellow, false);
Obs.: Nos outros construtores a fonte e a cor padrões são as seguintes: Font("Arial",Font.TRUETYPE_FONT, 20) e Color.YELLOW.
2 - Métodos da classe Time
//Retorna uma string com o valor do tempo, a string retornada é no formato 00:00:00. public String toString(); //Desenha uma mensagem que é uma escolha do usuário e em seguida desenha o valor do tempo. public void draw(String message); //Desenha o valor do tempo na tela. public void draw(); //Seta a cor a ser usada na fonte que será usada para desenhar o tempo. public void setColor(Color color); //Seta a fonte que será usada para desenhar o tempo. public void setFont(Font font); //Retorna se o tempo terminou, esse método só serve se o tempo escolhido é do tipo cronômetro regressivo. public boolean timeEnded(); //Seta o valor da hora. public void setHour(int hour); //Seta o valor dos minutes. public void setMinute(int minute); //Seta o valor dos segundos. public void setSecond(int second); //Retorna o valor da hora. public long getHour(); //Retorna o valor do minuto. public long getMinute(); //Retorna o valor do segundo. public long getSecond(); //Converte o tempo em segundos e retorna o valor total. public long getTotalSecond(); //Seta o valor do tempo. public void setTime(int hour, int minute, int seconds);
package Time001; import jplay.GameImage; import jplay.Keyboard; import jplay.Time; import jplay.Window; import java.awt.Color; /** * @author Gefersom Cardoso Lima * Federal Fluminense University * Computer Science */ public class Time001 { //Show on the screen a regressive and a rising time. public static void main(String[] args) { Window janela = new Window(800,600); Keyboard keyboard = janela.getKeyboard(); GameImage backGround = new GameImage("fundo.png"); Time tempo1 = new Time(100, 100,true); tempo1.setColor(Color.yellow); Time tempo2 = new Time(1, 39, 56, 100, 200,false); tempo2.setColor(Color.cyan); boolean executando = true; while(executando) { backGround.draw(); tempo1.draw("Progressivo: "); tempo2.draw("Regressivo: "); janela.update(); if ( keyboard.keyDown(Keyboard.ESCAPE_KEY) == true ) executando = false; } janela.exit(); } }
UFF - Universidade Federal Fluminense - Institudo de Computação - Ciência da Computação