Olá pessoal!

Depois de tando tempo sem escrever no meu blog, vou postar um tuturial que havia feito no começo do ano, de como fazer um relógio em actionscript 2.0. E muito simples de fazer.

Vamos lá ?

Bom, primeiramente devemos entender como vai funcionar nosso relógio, ele será digital e analógico, no digital além de mostrar a hora também irá exibir o dia da semana e a data.

Para começarmos a fazer nosso relógio, primeiro temos que fazer o desenho, podemos usar o próprio flash ou qualquer editor de imagem.

Depois de feito o desenho do relógio, vamos criar cinco campos de texto dinâmicos, instanciados como hora_texto, minuto_texto, segundo_texto, semana_texto e dia_texto, após isso vamos instanciar os ponteiros, ponteiro_hora, ponteiro_minuto e ponteiro_segundo.

Obs.: O ponto de registro dos ponteiros tem que estar como centralizado inferior.

Actionscript


O relógio será feito em um único frame, então devemos fazer para que o aplicativo atualize o tempo todo naquele único frame, para isso vamos usar o onEnterFrame que irá atualizar o código infinitamente, enquanto o relógio estiver aberto.

this.onEnterFrame = function()
{

};



Todo nosso código ira ficar dentro dessa função. Dentro da função vamos criar as variáveis onde irão conter os valores para que o relógio funcione.

this.onEnterFrame = function()
{
var horario:Date = new Date();
hora = horario.getHours();
minuto = horario.getMinutes();
segundo = horario.getSeconds();
};



Dentro da função foram inseridas quatro variáveis, onde a primeira recebe todos os valores da propriedade Date();, na segunda variável de nome ‘hora’ vai receber o valor getHours(); da variável horario, a variável ‘minuto’ receberá o valor getMinutes(); e ‘segundo’ receberá getSeconds(); também da variável horario.

Agora vamos chamar as variáveis dos ponteiros para ele funcionar, ficando assim:

this.onEnterFrame = function()
{
var horario:Date = new Date();
hora = horario.getHours();
minuto = horario.getMinutes();
segundo = horario.getSeconds();

_root.ponteiro_hora._rotation = hora * 30;
_root.ponteiro_minuto._rotation = minuto * 6;
_root.ponteiro_segundo._rotation = segundo * 6;
};



A instância ponteiro_hora recebe a variável hora que e multiplicada por 30. Para que o ponteiro_hora dê uma volta completa a cada 12 horas, vamos dividir 360° por 12 que e igual a 30, o mesmo será usado para os ponteiros minuto e segundo, só que ao invés de ser dividido por 12 será divido por 60 que será igual a 6.
A instância ponteiro_minuto recebe a variável minuto e a instância ponteiro_segundo recebe a variável segundo que são multiplicadas por 6.

Nosso relógio analógico está pronto. Agora vamos fazer a programação do relógio digital.

Para o digital funcionar, vamos chamar as variáveis hora, minuto e segundo nas instâncias hora_texto, minuto_texto e segundo_texto, ficando assim:

this.onEnterFrame = function()
{
var horario:Date = new Date();
hora = horario.getHours();
minuto = horario.getMinutes();
segundo = horario.getSeconds();

//Analógico
_root.ponteiro_hora._rotation = hora * 30;
_root.ponteiro_minuto._rotation = minuto * 6;
_root.ponteiro_segundo._rotation = segundo * 6;

//Digital
_root.hora_texto.text = hora;
_root.minuto_texto.text = minuto;
_root.segundo_texto.text = segundo;
};



Bom, basicamente nosso relógio já está pronto! Mas agora falta fazer o relógio exibir o dia da semana e a data, para fazer isso vamos utilizar um laço de repetição switch para verificar o dia da semana e exibir na caixa de texto. Primeiro vamos criar uma variável onde ira buscar o valor getDay();, assim:

semana = horario.getDay();
switch (semana)
{
  case 1 :
  _root.semana_texto.text = "Segunda";
  break;
  case 2 :
  _root.semana_texto.text = "Terça";
  break;
  case 3 :
  _root.semana_texto.text = "Quarta";
  break;
  case 4 :
  _root.semana_texto.text = "Quinta";
  break;
  case 5 :
  _root.semana_texto.text = "Sexta";
  break;
  case 6 :
  _root.semana_texto.text = "Sábado";
  break;
  default :
  _root.semana_texto.text = "Domingo";
  break;
}



Dentro de cada case a instância semana_texto recebe da variável semana um texto correspondente a cada dia da semana de acordo com o numero.
Ex.: 1 = segunda, 2 = terça etc

Agora só falta colocar o dia. Para isso vamos criar uma variável chamada dia onde recebera o valor getDate da variável horário. E colocar o valor da variável dia na instância dia_texto, ficando assim:


dia = horario.getDate();
_root.dia_texto.text = dia; 



Nosso código completo:

this.onEnterFrame = function()
{
var horario:Date = new Date();
hora = horario.getHours();
minuto = horario.getMinutes();
segundo = horario.getSeconds();

//Analógico
_root.ponteiro_hora._rotation = hora * 30;
_root.ponteiro_minuto._rotation = minuto * 6;
_root.ponteiro_segundo._rotation = segundo * 6;

//Digital
_root.hora_texto.text = hora;
_root.minuto_texto.text = minuto;
_root.segundo_texto.text = segundo;

  //Semama
  semana = horario.getDay();
  switch (semana)
  {
  case 1 :
  _root.semana_texto.text = "Segunda";
  break;
  case 2 :
  _root.semana_texto.text = "Terça";
  break;
  case 3 :
  _root.semana_texto.text = "Quarta";
  break;
  case 4 :
  _root.semana_texto.text = "Quinta";
  break;
  case 5 :
  _root.semana_texto.text = "Sexta";
  break;
  case 6 :
  _root.semana_texto.text = "Sábado";
  break;
  default :
  _root.semana_texto.text = "Domingo";
  break;
  }
  // Dia
  dia = horario.getDate();
  _root.dia_texto.text = dia; 

};




Bom pessoal ! é isso ai !
Espero que tenha gostado. Ate a próxima !

4.0 ponto(s). Avaliado por 3 pessoas

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5