El objeto DATE introducido en Flash 5 hace simple el hecho de tener un reloz en una película flash. Los siguiente pasos explican como realizar un simple reloj que muestre la hora AM/PM en formato Hora:Minutos:Segundos.

Y nos vamos...

1. Crea un simbolo MOVIE CLIP [insertar > nuevo simbolo]

2. Usando la herramienta de texto crea un campo de texto en este nuevo simbolo. Este texto mostrará la hora.

3. Selecciona el campo de texto con la herramiente "flecha" y selecciona la opción TEXTO DINAMICO (dynamic text) junto con asignarle al nombre de variable (var) la palabra "time" (sin comillas)

4. En el primer fotograma del simbolo ingresa la siguiente acción [en el panel de acciones.. obvio]

function getTime () {

var time = new Date();

var hour = time.getHours();

var minute = time.getMinutes();

var second = time.getSeconds();

var temp = ""+((hour>12) ? hour-12 : hour);

temp += ((minute<10) ? ":0" : ":")+minute;

temp += ((second<10) ? ":0" : ":")+second;

temp += (hour>=12) ? " P.M." : " A.M.";

return temp;

}

5. Incorpora el movie clip a la escena.

6. Selecciona el movie clip en la escena y otorgale la siguiente acción:

onClipEvent (enterFrame) {

time = getTime();

}

7. Guarda, prueba, exporta y LISTO!

Cómo funciona?
La función "getTime()" primero crea un nuevo objeto "date" el cual es usado para obtener la hora actual con sus minutos y segundos. Luego el operador "?: conditional" (una forma abreviada del comando "if...else" se usa para determinar los formatos HH:MM:SS y AM/PM y lo asigna a la variable "temp".
Por ejemplo en la siguiente línea de código se chequea si el valor de "hours" es mayor que 12, si es así, se resta 12 a "hour" y se le asigna a "temp". Sin esto, el valor "hour" se asigna tal como lo recoge el "getTime()" y lo asigna al "temp"

var temp = ""+((hour>12) ? hour-12 : hour);

La lógica es más o menos similar para los minutos ("minute") y segundos ("seconds") , esta vez se usa para chequear si el valor es menor que 10. De ser así, se le incluye un "0" (cero) al "temp" antes del valor de los minutos o segundos. Sin esto los minutos y segundos se mostrarían con número enteros tal como lo genera el "getTime()".

Finalmente se agrega "PM" si la hora "hour" en el "getTim()" es mayor que 12, de lo contrario, se le agrega "AM".