En este ejercicio crearemos un reloj y una calendario, el cual nos devolvera la fecha y hora de nuestro PC.
Para ello vamos a usar actionScript 2.0, más concretamente la clase Date y sus funciones.
Bien, lo primero que tenemos que hacer para hacer uso de la clase Date es dar de alta un nuevo objeto perteneciente a dicha clase, el cual nombraremos como queramos, en este ejercicio le vamos a poner el nombre de "fecha". Nos quedaría así:
fecha = new Date();
Una vez demos de alta dicho objeto, tendremos que obtener la hora, los minutos, los segundos, el dia de la semana, etc; y esto lo conseguimos de la siguiente forma:
Lo primero es abrir un nuevo documento de flash, del tamaño que querais, yo lo voy a crear de 400px por 120px, elegis un color de fondo y ya tenemos la escena lista para empezar.
El siguiente paso sera crear tres capas, una sera para el reloj, otra para el calendario y la última tendra impreso el código actionScript. Asique las nombraremos así: reloj, calendario y as.
Lo que tenemos que hacer es crear dos cuadros de texto dinámico dónde se nos mostrará la información. Asique elegimos la herramiento Texto y creamos uno en la capa reloj y el otro en la capa calendario.
Una vez creados seleccionamos el primero y le damos las medidas 350x64, y lo colocamos en la posición x=25 e y=5; escogemos del cuadro de selección Texto dinámico y le damos formato al texto (fuente, tamaño, color, alineación, etc). Por último le ponemos un nombre de variable, por ejemplo reloj.
Ahora seleccionamos el segundo cuadro, le damos medidas 390x35 y lo colocamos en la posición x=35 e y=80. Del mismo modo escogemos Texto dinámico y le damos formato al texto. Como variable escribimos calendario.
Seleccionamos el primer frame de nuestra capa as, abrimos el panel de acciones y escribimos lo siguiente:
fecha = new Date();
dia = fecha.getDate();
mes = fecha.getMonth();
anio = fecha.getFullYear();
hora = fecha.getHours();
mins = fecha.getMinutes();
segs = fecha.getSeconds();
reloj = hora + ":" + mins + ":" + segs;
calendario = dia + "/" + mes + "/" + anio;
Nos tiene que devolver algo parecido a esto:
Observaciones::
Vamos a arreglar el primer punto, para ello añadimos al código la siguiente linea:
onEnterFrame = function() { //Con esto generamos constantemente el objeto fecha.
fecha = new Date();
dia = fecha.getDate();
mes = fecha.getMonth();
anio = fecha.getFullYear();
hora = fecha.getHours();
mins = fecha.getMinutes();
segs = fecha.getSeconds();
reloj = hora + ":" + mins + ":" + segs;
calendario = dia + "/" + mes + "/" + anio;
}
Así sería ahora el resultado:
Vamos con el asunto del mes, tendremos que crear un array con el nombre de los meses y hacer una pequeña modificación al código que llevamos hasta ahora:
meses = new Array ( 'ENE', 'FEB', 'MAR', 'ABR', 'MAY', 'JUN', 'JUL', 'AGO', 'SEP',
'OCT', 'NOV', 'DIC' );
onEnterFrame = function() {
fecha = new Date();
dia = fecha.getDate();
mes = meses[ fecha.getMonth() ];
anio = fecha.getFullYear();
hora = fecha.getHours();
mins = fecha.getMinutes();
segs = fecha.getSeconds();
reloj = hora + ":" + mins + ":" + segs;
calendario = dia + "/" + mes + "/" + anio;
}
Veamos el resultado:
Ahora que ya estamos familiarizados con la clase Date y que más o menos sabemos como funciona, vamos a realizar unas pequeñas modificaciones al código para conseguir el mismo resultado que en el ejemplo del ejercicio, es decir, un reloj con formato 00:00:00 y que el calendario nos muestre también el día de la semana en el que estamos (domingo, lunes, martes, etc).
onEnterFrame = function() {
fecha = new Date();
hora = fecha.getHours();
d_hora = int(hora/10); // calculamos las decenas de las horas
u_hora = hora - (d_hora*10); // calculamos las unidades de las horas
mins = fecha.getMinutes();
d_mins = int(mins/10); // calculamos las decenas de los minutos
u_mins = mins - (d_mins*10); // calculamos las unidades de los minutos
segs = fecha.getSeconds();
d_segs = int(segs/10); // calculamos las decenas de los segundos
u_segs = segs - (d_segs*10); // calculamos las unidades de los segundos
reloj = "" + d_hora + u_hora + ":" + d_mins + u_mins + ":" + d_segs + u_segs;
}
Resultado:
meses = new Array ( 'enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio',
'agosto', 'septiembre','octubre', 'noviembre', 'diciembre' );
dias = new Array ( 'domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes',
'sábado');
onEnterFrame = function() {
fecha = new Date();
dia = fecha.getDate(); // obtenemos el día
dia_sem = dias[ fecha.getDay() ]; // obtenemos el día de la semana
mes = meses[ fecha.getMonth() ]; // obtenemos el mes
anio = fecha.getFullYear(); // obtenemos el año
calendario = dia_sem + " " + dia + " de " + mes + " del " + anio;
}
Resultado:
meses = new Array ( 'enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio',
'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre' );
dias = new Array ( 'domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes',
'sábado');
onEnterFrame = function() {
fecha = new Date();
dia = fecha.getDate();
dia_sem = dias[ fecha.getDay() ];
mes = meses[ fecha.getMonth() ];
anio = fecha.getFullYear();
hora = fecha.getHours();
d_hora = int(hora/10);
u_hora = hora - (d_hora*10);
mins = fecha.getMinutes();
d_mins = int(mins/10);
u_mins = mins - (d_mins*10);
segs = fecha.getSeconds();
d_segs = int(segs/10);
u_segs = segs - (d_segs*10);
reloj = "" + d_hora + u_hora + ":" + d_mins + u_mins + ":" + d_segs + u_segs;
calendario = dia_sem + " " + dia + " de " + mes + " del " + anio;
}
Cualquier duda la podéis postear en la sección adecuada de nuestro foro.