Reloj sencillo en Flash

Escrito por Roberto Ferrer el Lunes 21 de Marzo de 2005 a las 00:00hs

En este tutorial vamos a hacer un sencillo reloj. Antes que nada abriremos el Flash y crearemos una película nueva, con las siguientes dimensiones: 200px de alto x 200px de ancho ( Esto después puede variarse de acuerdo a la forma en que lo quiera hacer cada cual.

Una vez que tenemos creada nuestra película renombramos la Capa 1 (Layer1) a reloj, haciendo dobleclick sobre ella. Luego insertamos una nueva capa y la nombramos actions.

En la capa actions lo que haremos es escribir en el primer fotograma todo el código que vayamos a utilizar, así nos quedar á más organizado.

Ahora haz clic sobre la capa reloj y comienza a dibujar el reloj, para esto crearas 3 cuadros de texto dinámicos, para esto selecciona la herramienta Texto en el panel de Herramientas de la izquierda. Una vez ubicados los 3 cuadros de texto en el escenario asegúrate que sean dinámicos, esto lo hace en la barra del Panel Propiedades.

Ponle a cada cuadro de texto un nombre de instancia:

hora_txt (1er Cuadro de Texto)
minutos_txt (2do Cuadro de Texto)
segundos_txt (3er Cuadro de Texto)

Inserta también dos cuadros de texto estáticos que digan ":" para separar la hora de los minutos y los segundos. Te debe quedar algo así:

Una vez hecho esto vayamos a lo bueno!!!!!!

Selecciona el primer fotograma de la capa actions y presiona F9 para desplegar el Panel Acciones, que es donde programaremos nuestro reloj.

Primero tenemos que crear un objeto Date, este objeto trae funciones que nos permite saber la fecha, hora, minutos, segundo, etc., en un determinado momento.

Introducimos el este código:

time = new Date();

time es la variable que creo del tipo Date

luego ponemos:

onEnterFrame()

{

hora = time.getHours(); // llamamos al método getHours para obtener la hora y
// la almacenamos en una variable llamada hora

minutos = time.getMinutes(); // llamamos al método getMinutes para obtener los
// minutos y lo almacenamos en una variable minutos

segundos = time.getSeconds(); //hacemos lo mismo pero para los segundos

hora_txt.text = hora; //aquí mostramos el valor de la hora en el cuadro de texto
//hora_txt

minutos_txt.text = minutos; //aquí mostramos el valor de los minutos en el
//cuadro de texto minutos_txt

segundos_txt.text = segundos; //aquí mostramos el valor de los segundos en el
//cuadro de texto segundos_txt

}


Ahora prueba la película presionando ctrl. + Enter

Como verás, muestra la hora pero no se actualiza. Para esto debes hacer una ultima cosa, debes insertar un segundo fotograma, para esto haz clic derecho sobre el segundo fotograma de cada una de las capas y selecciona Insertar fotograma ( en ingles Insert Frame) o hazclick sobre el segundo fotograma de cada capa y presiona F5.

Finalmente quedaría parecida a esta:

Ahora prueba la película.

Puesto que es un reloj sencillo devuelve la hora militar. Para que no ocurra esto deberás hacer uso de algunas condiciones… pero eso lo dejo para que piensen o como tema para otro tutorial.

Aquí dejo el código completo para evitar confusiones:

time = new Date();

onEnterFrame()

{

hora = time.getHours();

minutos = time.getMinutes();

segundos = time.getSeconds();

hora_txt.text = hora;

minutos_txt.text = minutos;

segundos_txt.text = segundos;

}

Puedes bajar el ejemplo terminado.


comentarios



  1. Para empesar no esta mal, me sirvio por fin logro hacer algo en Flash
    Gracias



  2. hoooo! gracias apenas estoy entrando en el mundo de el acción, se ayudo mucho para entender.



  3. ok doc, todo bien en tu codigo solo hay un error q corregir y es el script del nimuto en tu codigo de muestra esta mal pusiste minuto_txt cuando deberia ser minutos_txt, por eso cuando corres el escript demo no funciona los minutos. solo eso



  4. Muy bien espero que no se le de a este comentario el camino de criticar solo quiero dar una opinion con un poco menos de codigo es solo para que lo sepan ya que yo no puedo subir imagenes a lo mejor usted puede explicarlo mejor si se le asigna una variable a cada Dynamic text que se llamen hora,minuto y segundos no quitamos el problema de la doble asignacion es solo unos codigos menos pero asi vamos cogiendo habilidad



  5. Esta perfecto!!! Pero no consigo que el reloj avance de hora. es decir se queda en la hora q le pongo. contestad . Gracias



  6. Para ello, se coloca la frame adicional, para que pase de frame y se pueda efectuar el código de OnEnterFrame()...

    Sólo tengo una pregunta. Si quiero hacer un switch anidado para que en determinado momento del día se ponga algo en un dynamic text... ¿Cómo le hago?

    Desde Colombia,

    Fernando.



  7. todo eso esta muy bien pero donde escrivo todos esos codigos ha ce falta que me expliquen bien, gracias.



  8. Lazaro: Yo acabo de resolver algunos detalles que estaban oscuros en este tema:
    el codigo lo debes escribir en "Actions", llegas ahi por "Window, Development Panels, Actions. Debes posicionarte en el primer frame de la capa "Reloj" antes de poner nada.
    Yo recomiendo copiar el codigo tal cual, ya sea desde el archivo flash de ejemplo o este que puse yo aca.

    Gabriel.



  9. time = new Date();

    onEnterFrame()
    {
    hora = time.getHours();
    minuto = time.getMinutes();
    segundos = time.getSeconds();
    if (hora < 10)
    {
    hora = "0" + hora;
    } // end if
    if (minutos < 10)
    {
    minuto = "0" + minuto;
    } // end if
    if (segundos < 10)
    {
    segundos = "0" + segundos;
    } // end if
    hora_txt.text = hora;
    minuto_txt.text = minuto;
    segundos_txt.text = segundos;

    }



  10. hola yo quiero crear un reloj pero no me puedo descargar el macromedia ya q mi maquina es muy chota y no me deja descargar nada.¿q programa me puedo descargar q no sea tan pesado? ¿lo puedo hacer con codigos en el block de notas? porfavor contesten a mi mail ....lucio_cinquini@hotmail.com....

    porfavor ayuden!!!

    gracias
    saludos!!!



  11. Hola camaradas, nesecito una mano con el reloj, segui todas las intrucciones pero cuando compilo el reloj no camina. Agradeceria cualquier ayuda



  12. hola..este tuto me biene re bien, xq keria hacer un reloj pero te keria preguntar si se le puede poner una imagen al reloj, osea la imagen y el reloj abajo y como ponerla?? xq no se..graciass
    //saludoss..



  13. muy buen tutorial!.muy facil d hacer y aplicable para los primerisos!...



  14. Hola, yo lo que necesito es que la hora quede de 12 horas y no de 24, si alguien sabe se lo agradeceria.

    un saludo



  15. Vaya, por fin algo de flash que pude entender a la perfección, y eso que puedo programar en basic, java, c# y otros pero con actionScript no pegaba. GRACIAS!!!!!!!



  16. GRACIAS!!! me ayudo para hacer un reloj para mi celular =)

agregar comentario


Se permiten las etiquetas HTML <b>, <i> y <p>. Si ingresa alguna dirección web o dirección de email serán convertidos en enlaces automáticamente.





publicidad