setInterval vs EnterFrame
Cuando se integró el objeto Date en flash, empezaron a surgir los relojes en flash, para la actualización de la información se solía hacer en el evento EnterFrame
Esto en flashmx no está del todo mal, pero para sacar ventajas de nuevas funciones como el setInterval, siento que es mejor poner el reloj a que se actualize cada segundo, envez de cada entrada a frame.
supongamos que el framerate de la película es de 24fps, con enterFrame se estaría actualizando el reloj 24 veces por segundo, mientras que con setInterval, lo haríamos una sola vez, ahorrando recursos de cpu ( que luego podemos gastar en otras cosas ;) )
aquí hay un código de ejemplo.
timer = function (){
var now = new Date();
var hora = now.getHours();
var mins = now.getMinutes();
var secs = now.getSeconds();
var daystatus = (hora >= 12) ?( "pm" ):( "am");
if(hora >12)hora -= 12;
if(hora == 0)hora =12;
if(hora < 10) hora = "0" + String(hora);
if(mins < 10) mins = "0" + String(mins);
if(secs < 10) secs = "0" + String(secs);
reloj.text = hora + ":" + mins + ":" + secs + " " + dayStatus;
}
this.createTextField("reloj",1, 0, 0, null, null);
reloj.autoSize = true;
setInterval(timer,1000);
timer();
stop();
claro si se quiere hacer el reloj más agradable para la vista, se pude poner un campo de texto con nombre de instacia reloj con el tipo de fuente preferido exportando sólo números, dos puntos":", y las letras "amp", si se desea exportar las fuentes, claro está.
Bueno, aqui estoy tratando de aportar algo ;). Aprovechando la excelente idea de kada queria agregarle ademas de la hora, algo bastante comun... la fecha. Bueno para no hacerles el cuento muy largo aqui les va el codigo.