Re: ~Todo lo de Macromedia Flash~ 2.0
Buenas dps de un tiempo he vuelto....
Shadow bien ahi alguien que se suma y aporta =).. ahora q te doblaste el pie podes pasar más tiempo boludeando con el flash XD
EDIT: Bue ak dejo el
TUTO PARA HACER UNA ALARMA, el resultado final --> [SWF ]
http://megaswf.com/view/ea70b1a3d49f9f6ffe927d8278c5402b.html [/SWF] (aclaro que yo lo hice muy basico, lo pueden decorar y hacer mas bonito =P).
El uso de esta alarma basicamente seria cuando estamos en nuestra Pc y tenemos que acordarnos de hacer algo en unas horas... lo ponemos en nuestra alarma y la dejamos abierta y listo XD
1º) Abrimos un nuevo documento y creamos un Circulo sin relleno, solo el borde. Lo convertimos en Movie Clip con punto en el centro, y lo centramos (Ventana --> Alinear o Ctrl + K).
2º) Entramos al MC y en 4 capas aparte creamos las que serian las 4 agujas para el reloj (a todas las convertimos en MC con punto abajo y las centramos). A cada aguja le ponemos su correspondiente instance name (Segundero, Minutero, Horario, alarma). Tambien creamos una capa aparte para los numeros del reloj.
[spoiler2]
[/spoiler2]
3º) Bueno ahora viene el codigo, en una capa aparte vamos a poner el siguiente codigo
Código:
onEnterFrame = function(){
Reloj = new Date();
Horas = Reloj.getHours();
Minutos = Reloj.getMinutes();
Segundos = Reloj.getSeconds();
if (Horas > 12) Horas -= 12;
HorasAngulo = 360 * Horas / 12;
MinutosAngulo = 360 * Minutos / 60;
SegundosAngulo = 360 * Segundos / 60;
Horario._rotation = HorasAngulo;
Minutero._rotation = MinutosAngulo;
Segundero._rotation = SegundosAngulo;
alarma._rotation = _root.alarmah*30+_root.alarmam/2;
}
El codigo si lo piensan es bastante simple... La formula que se hace para sacar el angulo "360*Minutos/60" y la de la arma pueden probar que si eligen cualquier hora y minutos les va a dar el angulo de rotacion que tiene la aguja.
"if (Horas > 12) Horas -= 12;" esto es para que el reloj tome como que son 12 horas y no 24.
"alarma._rotation = _root.alarmah*30+_root.alarmam/2;" Esto es para hacer girar la aguja de la alarma, que el codigo esta mas adelante...
4º) Si probamos el swf ya tendria que marcar la hora (aclaro que es la hora de nuestra Pc). Volvemos a la escena principal y creamos un Campo de Texto Dinamico con instance name: "digital" el cual va a ser el reloj digital que usemos para que la alarma funcione, y en la linea del tiempo en una capa aparte ponemos el siguiente codigo
Código:
this.onEnterFrame = function() {
Reloj = new Date();
Horas = Reloj.getHours();
Minutos = Reloj.getMinutes();
Segundos = Reloj.getSeconds();
if (Horas<10) {
Horas = "0"+Horas;
}
if (Minutos<10) {
Minutos = "0"+Minutos;
}
if (Segundos<10) {
Segundos = "0"+Segundos;
}
digital.text = Horas+":"+Minutos+":"+Segundos;
if (Horas == alarmah && Minutos == alarmam) {
sonido.start(0, 1);
alarmah = "25";
alarmam = "61";
}
}
Los if Horas<10, horas = 0+Horas; son para que se vea un "0" en las horas en caso de que por ejemplo sean las 5, que se vea 05:00 y no 5:00.
digital.text = Horas+":"+Minutos+":"+Segundos; Pasamos los numeros a nuestro Campo de Texto Dinamico
Lo de la alarma lo explico en el siguiente paso...
5º) Ahora vamos a hacer la alarma.. creamos 2 campos de Texto dinamico y al que va a contener las horas en la variable le ponemos "alarmah" y al de los minutos "alarmam". Estos 2 campos de texto son los que se van a ir moviendo con los botones para elegir la hora de la alarma... Entonses vamos a crear 4 botones (2 arriba y 2 abajo) y de instance name les vamos a poner: "horasa", "horasm" , "minutosa", "minutosm" donde los 2 que tienen "a" van arriba y los 2 con "m" abajo.
Y en nuestro codigo de la linea principal vamos a agreagar lo siguiente:
Código:
//Botones Alarma
horasa.onPress = function() {
alarmah++;
if (alarmah>24) {
alarmah = 0;
}
}
horasm.onRelease = function() {
alarmah--;
if (alarmah<0) {
alarmah = 24;
}
}
minutosa.onRelease = function() {
alarmam++;
if (alarmam>59) {
alarmam = 0;
}
}
minutosm.onRelease = function() {
alarmam--;
if (alarmam<0) {
alarmam = 59;
}
}
El codigo es simple: Cuando apretamos el boton disminuye o aumenta el numero, y cuando es mayor a 59 o 24 vuelve a 0...
Si prueban la pelicula, con los botones tendria que poder aumentar y disminuir los minutos y la hora de los 2 campos de texto de la alarma.
6º) Como la alarma necesita un sonido, vamos a importar uno y en las Propiedades o en Vinculacion le vamos a poner como identificador "sonido" y tildamos Exportar para ActionScript, en el primer fotograma.
Entonses ahora si en nuestro codigo agregamos lo siguiente:
Código:
var alarmah = 25;
var alarmam = 61;
//Sonido
sonido = new Sound();
sonido.attachSound("sonido");
Ak estariamos cargando nuestro sonido a la pelicula... Y con el codigo que teniamos antes lo que le decimos es que cuando el campo de texto digital sea igual a las Horas y Minutos, que el sonido empieze y alarmah y alarmam sean iguales a 25 y 61 (esto que tambien lo puse suelto en la linea del tiempo es para que la alarma no suene a cualquier hora que nosotros no queramos (osea a las 00:00 que seria por defecto) ya que un reloj nunk llega a tener como horas y minutos 25:61.
Código:
digital.text = Horas+":"+Minutos+":"+Segundos;
if (Horas == alarmah && Minutos == alarmam) {
sonido.start(0, 1);
alarmah = "25";
alarmam = "61";
}
}
sonido.start(0, 1); Esto lo que hace es empesar el sonido, el "1" indica la cantidad de veces que queremos que ese sonido se repita, y el "0" seria desde donde empieza el sonido (si ponen 5 por ej, van a notar que el sonido empieza mas adelante)
7º) Por ultimo para parar el sonido vamos a agregar una funcion:
Código:
onMouseUp = function () {
stopAllSounds();
}
Cuando hacemos click en cualquier lugar se para el sonido.
Y tambien vamos a crear un campo de Introducción de Texto para que cuando suene la alarma sepamos que es lo que teniamos que hacer =P
Creo que ya estaria todo, disculpen que no puse imagenes ni nada y esta todo muy largo con mucho codigo, pero no tuve tiempo de hacerlo más prolijo.... Por si se perdieron les dejo el
codigo en su totalidad:
[spoiler2] Escena 1
Código:
stop();
var alarmah = 25;
var alarmam = 61;
//Sonido
sonido = new Sound();
sonido.attachSound("sonido");
//Reloj Digital y Alarma
this.onEnterFrame = function() {
Reloj = new Date();
Horas = Reloj.getHours();
Minutos = Reloj.getMinutes();
Segundos = Reloj.getSeconds();
if (Horas<10) {
Horas = "0"+Horas;
}
if (Minutos<10) {
Minutos = "0"+Minutos;
}
if (Segundos<10) {
Segundos = "0"+Segundos;
}
digital.text = Horas+":"+Minutos+":"+Segundos;
if (Horas == alarmah && Minutos == alarmam) {
sonido.start(0, 1);
alarmah = "25";
alarmam = "61";
}
}
//Botones Alarma
horasa.onPress = function() {
alarmah++;
if (alarmah>24) {
alarmah = 0;
}
}
horasm.onRelease = function() {
alarmah--;
if (alarmah<0) {
alarmah = 24;
}
}
minutosa.onRelease = function() {
alarmam++;
if (alarmam>59) {
alarmam = 0;
}
}
minutosm.onRelease = function() {
alarmam--;
if (alarmam<0) {
alarmam = 59;
}
}
//ALARMA
onMouseUp = function () {
stopAllSounds();
}
En el MovieClip con el Reloj de analogico
Código:
//Reloj analogico
onEnterFrame = function(){
Reloj = new Date();
Horas = Reloj.getHours();
Minutos = Reloj.getMinutes();
Segundos = Reloj.getSeconds();
if (Horas > 12) Horas -= 12;
HorasAngulo = 360 * Horas / 12;
MinutosAngulo = 360 * Minutos / 60;
SegundosAngulo = 360 * Segundos / 60;
Horario._rotation = HorasAngulo;
Minutero._rotation = MinutosAngulo;
Segundero._rotation = SegundosAngulo;
alarma._rotation = _root.alarmah*30+_root.alarmam/2;
}
[/spoiler2]
Saludos y cualquier duda pregunten