Flash Novatos

ActionScript Basico e Intermedio (Blog Optimizado para Firefox)

lunes, 10 de marzo de 2008

Reloj Analogico con Alarma

Action Script 2.0

DarkX [dien20xx@gmail.com]

Para empezar dibujamos 4 agujas para el reloj (hora, minuto, segundo y alarma). A estas las convertimos en Clip y le damos de instancia a1,a2,a3,a4, todo en el mismo orden. Por cierto!!! El punto de referencia del clip no puede estar centrado, cuando creen el clip asegúrense de seleccionar un borde medio, de lo contrario la aguja haría lo mismo que un ventilador. Después de hacer todo eso creen el marco del reloj y centren las manecillas.

También creamos 3 textos dinámicos, uno llamado "time" que tendrá el valor de la hora y otros 2 "alarmh" y "alarmm" estos serán para visualización de la alarma.

Por ultimo 4 botones para el control de la alarma, cual le damos como instancia b1,b2,b3,b4.

Ahh , se me olvidaba,, importen u sonido para la alarma y dentro de la biblioteca vincúlenlo para AS y pónganle "soni".

Siguiendo todos los pasos vamos al Script.

===========================================

/* se declaran las variables de la alarma (cosas del AS2) con valor inicial 0. Creamos un constructor para la clase Sound y sacamos a "soni" de la biblioteca. */

var alarmh = 0;

var alarmm = 0;

soni = new Sound();

soni.attachSound("soni");

/* a continuación la clase Date con el método get* nos devuelve un valor de la hora del sistema*/

onEnterFrame = function () {

tiempo = new Date();

sec = tiempo.getSeconds();

min = tiempo.getMinutes();

hor = tiempo.getHours();

/* el inicio y movimiento de las agujas se ajusta multiplicándolo por el numero de ángulo,,, o sea, siendo un ángulo completo 360 grados se divide por 60 dando así un valor de 6 grados por cambio de minuto y segundo, el de la hora por ser menos se da por 30 */

a1._rotation = sec*6;

a2._rotation = min*6;

a3._rotation = hor*30;

/* para el que no estudio matemáticas esta le va a quemar un par de neuronas */

a4._rotation = alarmh*30+alarmm/2;

/* la hora en números para comparar */

time = hor add ": " add min add ": " add sec;

/* condiciones para que los Tdinámicos no se vayan de lugar */

if (alarmh>24) {

alarmh = 0;

}

if (alarmh<0) {

alarmh = 24;

}

if (alarmm>59) {

alarmm = 0;

}

if (alarmm<0) {

alarmm = 59;

}

/* si la hora y minutos de la alarma coinciden con la hora de la pc , reproduce el sonido y resetea la alarma */

if (hor == alarmh && min == alarmm) {

soni.start(0, 60);

alarmh = 0;

alarmm = 0;

}

};

/* esto lo puse para que no se repita el sonido si se vuelve a poner la alarma */

onMouseUp = function () {

stopAllSounds();

};

/* los botones para ajustar la alarma, estos incrementan y decrementan en "alarmh" y "alarmm" ,,, si quieren pueden poner textos de entrada en vez de dinámicos para menos código */

b1.onRelease = function() {

alarmh++;

};

b2.onRelease = function() {

alarmh--;

};

b3.onRelease = function() {

alarmm++;

};

b4.onRelease = function() {

alarmm--;

};

/* espero que les halla gustado, cualquier duda tiren al correo */

0 comentarios:

Publicar un comentario

Suscribirse a Enviar comentarios [Atom]

<< Inicio