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

~~> Tibia FanSite ~~> Um bocadinho de tudo! | ©Guloso | ~~

PeakBux
vcBux

Você não está conectado. Conecte-se ou registre-se

Fazendo um Relógio Digital [Flash]

3 participantes

Ir para baixo  Mensagem [Página 1 de 1]

1Fazendo um Relógio Digital [Flash] Empty Fazendo um Relógio Digital [Flash] Ter Jan 29, 2008 8:51 am

Fubu

Fubu
Web Designer
Web Designer

Vamos construir um simples relógio digital em Flash.

1. Criamos um novo documento no Flash. Salvamo-lo como relogio_digital.fla

2. Criamos no Stage duas caixas de texto do tipo Dynamic. Damo-lhes os nomes de instância relogio1_txt e relogio2_txt, respectivamente para a primeira e segunda caixas.

3. Criamos uma nova layer, à qual chamamos "actions".

4. Começamos por digitar o seguinte código:
E todos os outros q vierem a seguir deverão ser colokados dentro dessa função.
this.onEnterFrame = function(){

}

4.1 Todo o nosso código estará dentro das chavetas desta função.

4.2 Este código representa o evento onEnterFrame, o qual repetirá as instruções que estiverem dentro das chavetas (conhecidas em inglês como Curly Braces) a um ritmo constante. Esse ritmo é definido pelo número de frames por segundo que podemos definir nas propriedades do nosso documento Flash. (Para editar as propriedades do documento, fazemos CTRL+J e aí podemos definir outra quantidade de frames por segundo). Quanto maior o ritmo, maior o número de actualizações. No entanto, para este exemplo, podemos usar as 12 frames/segundo.

5. Agora vamos criar uma instância da classe Date. Vamos chamá-la de "relogio". Coloke dentro das chavetas citadas acima
var relogio:Date = new Date();

5.1 No caso do ActionScript 2.0 é exigido sempre que coloquemos a palavra var antes do nome da nova instância.

5.2 Tal como no caso da importação de símbolos da biblioteca para o Stage, no qual nunca trabalhamos com o símbolo em si, mas sim com uma instância desse símbolo. Da mesma forma quando falamos em trabalhar com classes, trabalhamos sempre com instâncias dessas classes e nunca com as próprias classes.

5.3 A instância "relogio" herda, deste modo, todas as características da classe Date.

6. Se experimentarmos verificar o que contem, agora, essa instância. Para tal fazemos:

relogio1_txt.text = relogio;

6.1 Verificamos que apresenta um conjunto completo de informação relativa à classe Date. Teremos que manipular essa informação para termos só aquela que quisermos mostrar.

7. Vamos, em seguida, buscar o ano, mês e dia do computador do utilizador.

ano = relogio.getFullYear();
mes = relogio.getMonth()+1;
dia = relogio.getDate();

7.1 São criadas três variáveis: hora, mes e dia. Essas variáveis contêm a hora, mês e dia recuperados da instância relógio, através dos métodos getFullYear(), getMonth e getDate, respectivamente.
No caso da variável mes tivemos de adicionar 1 ao seu valor, porque a lista de meses começa em zero. Desse modo, conseguimos ter os meses listados de 1 a 12, em vez de 0 a 11.

8. Basta-nos, agora, juntar toda este informação, formatá-la e mostrá-la na caixa de texto relogio1_txt.

relogio1_formatado = dia + "/" + mes + "/" + ano;
relogio1_txt.text = relogio1_formatado;

8.1 Criámos uma variável "relogio1_formatado" que contém os valores das variáveis dia, mes e ano. O sinal + é usado para concatenar os valores que essas variáveis contêm com o caracter / (barra).

9. Agora passemos à segunda parte deste tutorial. Vamos recuperar os valores da hora, minutos e segundos. Continuamos a colocar este código das chavetas.

horas = relogio.getHours();
minutos = relogio.getMinutes();
segundos = relogio.getSeconds();

9.1 Não há muito a explicar neste código. As variáveis horas, minutos e segundos são criadas e os seus valores são recuperados da instância da classe Date através dos métodos getHours, getMinutes e getSeconds, respectivamente.

10. Estamos quase a concluir o nosso tutorial.
Queremos que o formato das nossas horas seja 00:00:00, no entanto se o relógio estiver nas 3 da manhã, seria apenas mostrado 3:00:00, em vez daquilo que desejamos, 03:00:00.
Para isso teremos de criar uma estrutura condicional. Ela vai dizer que se as horas e os minutos e os segundos forem menores que 10 (ou seja, se tiverem menos que dois digitos); o Flash terá de transformar esse valores em valores com dois digitos.
Isto é, por exemplo, se a hora for 3, terá de aparecer como 03.
E o código será o seguinte:

if(horas<10){
horas = "0" + horas;
}

if(minutos<10){
minutos = "0" + minutos;
}

if(segundos<10){
segundos = "0" + segundos;
}


10.1 Aqui é dito que as variáveis já criadas anteriormente são iguais ao valor 0, concatenado através do sinal + ao valor das próprias variáveis.
Cuidado aqui com esta "soma" de valores!
Se o código fosse horas = 0 + horas;, seria somado zero mais o valor das horas. Exemplificando: 0 + 3 = 3.
Ou seja, ficava tudo na mesma! Por isso o zero está entre aspas para ser considerado como uma string (texto) e, deste modo, ficaria lado a lado ao valor das horas: 03.

11. Para terminar, teremos de criar uma nova variável que irá formatar todos os dados horários. A seguir, definimos que a caixa de texto com o nome de instância relogio2_txt é igual ao conteúdo da variável horário.

horario = horas + ":" + minutos + ":" + segundos;
relogio2_txt.text = horario;


11.1 A variável horario contém o valor das horas, minutos e segundos e o sinal + concatena o caracter : com o valor das variáveis horas, minutos e segundos.

12. Aqui fica o código completo do tutorial.

Código:
this.onEnterFrame = function(){
var relogio:Date = new Date();
ano = relogio.getFullYear();
mes = relogio.getMonth()+1;
dia = relogio.getDate();
data_formatada = dia + "/" + mes + "/" + ano;
relogio1_txt.text = data_formatada;

horas = relogio.getHours();
minutos = relogio.getMinutes();
segundos = relogio.getSeconds();

if(horas<10){
horas = "0" + horas;
}

if(minutos<10){
minutos = "0" + minutos;
}

if(segundos<10){
segundos = "0" + segundos;
}

horario = horas + ":" + minutos + ":" + segundos;
relogio2_txt.text = horario;
}

E pronto está concluído o meu tutorial! Very Happy lol!

Foi debatido o uso do _root. e explicado que não convém muito teimar em usá-lo pois pode trazer problemas mais tarde. Nomeadamente, se se fizer um loadMovie deste SWF noutro SWF principal. Por isso, editei este código e troquei o _root. por this..

Espero ter Ajudado cheers

Cumps.

http://fubucars.netfirms.com

2Fazendo um Relógio Digital [Flash] Empty Re: Fazendo um Relógio Digital [Flash] Ter Jan 29, 2008 8:53 am

Fubu

Fubu
Web Designer
Web Designer

Quero Q alguem faça e me diga o q axou, se possivel manda uma SS

Cya

http://fubucars.netfirms.com

3Fazendo um Relógio Digital [Flash] Empty Re: Fazendo um Relógio Digital [Flash] Ter Fev 12, 2008 4:44 pm

Fubu

Fubu
Web Designer
Web Designer

ngm tentou?ou ao menos mandou pra um amigo?
kero saber opinião de vcs u,u

Cya

http://fubucars.netfirms.com

4Fazendo um Relógio Digital [Flash] Empty Re: Fazendo um Relógio Digital [Flash] Ter Set 02, 2008 2:16 pm

Drhayn

Drhayn
VIP
VIP

Cara eu não fis mas parese da certo mas aqui vc podia tenta passa alguns comandos baxicos primeiro ai ia facilitar a vida da galera ...

e se poder me passa seu MSN e me manda algumas apostilas ....

Vlw t +

http://twitter.com/HiuryMiranda

5Fazendo um Relógio Digital [Flash] Empty Re: Fazendo um Relógio Digital [Flash] Qua Set 03, 2008 5:29 pm

Fubu

Fubu
Web Designer
Web Designer

http://fubucars.netfirms.com

6Fazendo um Relógio Digital [Flash] Empty Re: Fazendo um Relógio Digital [Flash] Qui Set 04, 2008 2:03 pm

Drhayn

Drhayn
VIP
VIP

Ja esta add vlw t +


xD

http://twitter.com/HiuryMiranda

7Fazendo um Relógio Digital [Flash] Empty Re: Fazendo um Relógio Digital [Flash] Qua Jun 10, 2009 9:43 am

Guloso

Guloso
Administrador
Administrador

Bom tópico Very Happy
Obrigado usuários Razz
Até mais...

https://guloso.forumeiros.com

Conteúdo patrocinado



Ir para o topo  Mensagem [Página 1 de 1]

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