Foros del Web » Creando para Internet » Flash y Actionscript »

Reloj Analogico

Estas en el tema de Reloj Analogico en el foro de Flash y Actionscript en Foros del Web. Action Script 2.0 DarkX [[email protected]] Para empezar dibujamos 4 agujas para el reloj (hora, minuto, segundo y alarma). A estas las convertimos en Clip y ...
  #1 (permalink)  
Antiguo 17/02/2008, 00:32
 
Fecha de Ingreso: febrero-2008
Mensajes: 45
Antigüedad: 16 años, 2 meses
Puntos: 0
Reloj Analogico

Action Script 2.0
DarkX [[email protected]]


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 */



Lost Transmision 22 dic. 07 10:41 am


Zero is Begin


http://revistablackhat.blogspot.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 22:03.