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

Cuenta atrás....

Estas en el tema de Cuenta atrás.... en el foro de Flash y Actionscript en Foros del Web. Un saludo al foro de Flash.... Cómo puedo hacer una cuenta atrás en días, horas, minutos y segundos?.... La idea es que através de un ...
  #1 (permalink)  
Antiguo 04/08/2005, 05:29
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 14 años, 3 meses
Puntos: 5
Pregunta Cuenta atrás....

Un saludo al foro de Flash....

Cómo puedo hacer una cuenta atrás en días, horas, minutos y segundos?.... La idea es que através de un desarrollo hecho en Flash se pueda exportar a un .swf para publicar en una página en el que un evento se dará el día x a las n horas y n' minutos con n" segundos....

Agradezco vuestros aportes...

Saludos!
__________________
Andrew :P
  #2 (permalink)  
Antiguo 04/08/2005, 11:30
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Hola andrewp:
Aquí un ejemplo de una cuenta regresiva:
Crea un MC en la capa 1 frame coloca un campo de texto dinámico y le pones como nombre de instancia: tiempo y le aumentas un fotograma simple a ésta capa.
En la capa 2 frame 1 éste código:
eventDate = new Date(2005, 7, 5);
eventMillisecs = eventDate.getTime();
currentDate = new Date();
currentMillisecs = currentDate.getTime();
msecs = eventMillisecs-currentMillisecs;
if (msecs<0) {
msecs = 0;
}
secs = Math.floor(msecs/1000);
mins = Math.floor(secs/60);
hours = Math.floor(mins/60);
days = Math.floor(hours/24);
msecs = String(Math.floor(msecs%1000/10));
secs = String(secs%60);
mins = String(mins%60);
hours = String(hours%24);
days = String(days);
if (msecs.length<2) {
msecs = "0"+msecs;
}
if (secs.length<2) {
secs = "0"+secs;
}
if (mins.length<2) {
mins = "0"+mins;
}
if (hours.length<2) {
hours = "0"+hours;
}
while (days.length<3) {
days = "0"+days;
}
tiempo.text = days+":"+hours+":"+mins+":"+secs+":"+msecs;
updateAfterEvent();
En el frame 2: gotoAndPlay(1);

En ésta línea del código: eventDate = new Date(2005, 7, 5); puse la fecha del 5 de Agosto, el número 7 es el número del mes porque Enero se cuenta como 0.

Este ejemplo lo adecuas a tus necesidades.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 04/08/2005, 18:58
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 14 años, 3 meses
Puntos: 5
Sonrisa Gracias!!!!!!!!!!!!!!

Bandit!.... Muchas gracias por tu ayuda.... Mejor no podría haber sido.... He hecho lo que me recomendaste y lo adapté a mis necesidades, pues necesitaba partir los tiempos (días, minutos, horas, etc.) en diferentes textos dinámicos en un diseño específico....

Lo único es que el día me lo presenta con un cero por delante de la décima y me gustaría quitarlo... Es decir, si restan 28 días me muestra 028. Cómo podría dar formato a este valor?

Gracias por tu magnífica ayuda!...

Saludos
__________________
Andrew :P
  #4 (permalink)  
Antiguo 20/02/2006, 11:29
Avatar de kctus
Usuario baneado!
 
Fecha de Ingreso: noviembre-2002
Ubicación: ToledoBsAsGaliciaBolivia
Mensajes: 1.038
Antigüedad: 15 años, 1 mes
Puntos: 1
Hola!

Sacando este mensaje del buscador, también me fue muy útil el código, gracias!

Pero un tema... no consigo que el tiempo se vaya actualizando, es decir, sólo sale el tiempo restante cuando se carga el swf por vez primera y no van pasando los segundos como sería lo ideal.

Alguna idea?
  #5 (permalink)  
Antiguo 20/02/2006, 20:27
Avatar de Sayanon  
Fecha de Ingreso: febrero-2006
Mensajes: 44
Antigüedad: 11 años, 9 meses
Puntos: 0
esta muy bueno eso...

pero como hago para hacer que quede por ej asi:

318 dias: 23 horas: 43 mins : 43 segs: 45milisg ??

gracias por adelantado...
  #6 (permalink)  
Antiguo 20/02/2006, 20:31
Avatar de Sayanon  
Fecha de Ingreso: febrero-2006
Mensajes: 44
Antigüedad: 11 años, 9 meses
Puntos: 0
ah y otra cosa...:

quiero poner un campo de texto donde otra persona escriba un fecha, despues aprete un boton y que empiece la cuenta atras desde esa fecha...

muchas gracias!!....
  #7 (permalink)  
Antiguo 04/01/2007, 17:31
 
Fecha de Ingreso: enero-2007
Mensajes: 7
Antigüedad: 10 años, 11 meses
Puntos: 0
Re: Cuenta atrás....

holaaa, recuperando este post, alguien me puede explicar lo de los frame?

engaaa
  #8 (permalink)  
Antiguo 04/01/2007, 18:12
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Re: Cuenta atrás....

Hola Wylly_Adonis:
Bienvenido al Foro.
Podrías ser más específico, que quieres saber sobre los frames.

Espero poderte ser de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #9 (permalink)  
Antiguo 05/01/2007, 01:53
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 14 años, 3 meses
Puntos: 5
Re: Cuenta atrás....

Supongo que te refieres a los pequeños cuadros blancos que hay en cada capa y que inician desde el uno hasta el setecientos y tanto. Bandit quiere decir que en la primera capa (layer) y en el primer cuadrito blanco (frame) debes insertar el código mencionado....

Por otra parte, Bandit... He intentado usar este código para hacer el efecto contrario, es decir, aumentar a partir de una fecha pero mostrando años, meses y días... No he podido adecuarlo en casos como, por ejemplo, 2 años, 3 meses, 2 días; siempre me aparece 2 años, 27 meses, 2 días....

Gracias por adelantado!....
__________________
Andrew :P
  #10 (permalink)  
Antiguo 05/01/2007, 05:48
 
Fecha de Ingreso: enero-2007
Mensajes: 7
Antigüedad: 10 años, 11 meses
Puntos: 0
Re: Cuenta atrás....

wenas, a ver el caso es que yo si he programado con php html.... y tal, pero aki estoy perdidisimo, que programa es el mas indicado?

viendo ese codigo, el de regresivo, que hago con el? es decir, donde lo meto...

un saludo!
  #11 (permalink)  
Antiguo 05/01/2007, 09:07
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Re: Cuenta atrás....

Hola Wylly_Adonis:
Abre el Flash y cuando estés, crea un Clip de película y estando en la capa 2 fotograma 1 de su línea de tiempo vas al panel de acciones y allí escribe el código.

Espero haberte sido de ayuda y ahora esté más claro.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #12 (permalink)  
Antiguo 05/01/2007, 11:08
 
Fecha de Ingreso: enero-2007
Mensajes: 7
Antigüedad: 10 años, 11 meses
Puntos: 0
Re: Cuenta atrás....

Cita:
Iniciado por Bandit Ver Mensaje

Crea un MC en la capa 1 frame coloca un campo de texto dinámico y le pones como nombre de instancia: tiempo y le aumentas un fotograma simple a ésta capa.
A ver, que no me aclaro :(, lo de MC que es?, luego lo del texto dinamico en la capa 1 como lo hago? es un texto simple?


Gracias y sorry !!!
Un saludo!

Última edición por Wylly_Adonis; 05/01/2007 a las 11:16
  #13 (permalink)  
Antiguo 05/01/2007, 11:54
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Re: Cuenta atrás....

MC es el acrónimo de MovieClip en Inglés que es Español sería Clip de película.
Un texto dinámico se crea con la herramienta Texto, haciendo un rectángulo con él y en el panel cambiar a la opción texto dinámico.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #14 (permalink)  
Antiguo 05/01/2007, 12:06
 
Fecha de Ingreso: enero-2007
Mensajes: 7
Antigüedad: 10 años, 11 meses
Puntos: 0
Re: Cuenta atrás....

A ver algo si que he adelantado, pero sigue sin funcionar:

como no puedo poner enlaces,
os pongo unos enlaces cortados con unas fotos de las capas:

Capa 1 Frame 1

adcaz.net/fotos/capa1frame1.jpg

Capa 2 Frame 1

adcaz.net/fotos/capa2frame1.jpg

Capa 2 Frame 2

adcaz.net/fotos/capa2frame2.jpg

Gracias Un saludo!
  #15 (permalink)  
Antiguo 05/01/2007, 12:21
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Re: Cuenta atrás....

No entiendo que es lo que quieres hacer.
Podrías explicarlo mejor?.

Espero poderte ser de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #16 (permalink)  
Antiguo 05/01/2007, 12:26
 
Fecha de Ingreso: enero-2007
Mensajes: 7
Antigüedad: 10 años, 11 meses
Puntos: 0
Re: Cuenta atrás....

lo que quiero hacer es una simple cuenta atras, pero no consigo que funcione.
basicamente es lo que queria andrewp
pero lo que he puesto, las fotos, estan bien? es eso lo que hay que hacer para la cuenta atras?

un saludo
  #17 (permalink)  
Antiguo 05/01/2007, 15:31
 
Fecha de Ingreso: enero-2007
Mensajes: 7
Antigüedad: 10 años, 11 meses
Puntos: 0
Re: Cuenta atrás....

yaaa va!!!! no se como pero funciona :P
todo en la misma capa y en el mismo frame, excepto la parte que dices de poner en la capa 2 frame 2!

muchas gracias a todos!!!
  #18 (permalink)  
Antiguo 05/01/2007, 17:04
 
Fecha de Ingreso: enero-2007
Mensajes: 7
Antigüedad: 10 años, 11 meses
Puntos: 0
Re: Cuenta atrás....

ahora el problema esta a la hora de meterlo en html, saco la pelicula en .swf, lo introduzco como shockware con el dreamweaver, pero en vez de salir, me sale en blanco donde deberia salir el regresor

Un saludo!
  #19 (permalink)  
Antiguo 05/01/2007, 18:00
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Re: Cuenta atrás....

En ningún momento dije que sea capa 2 frame 2, si lees bien allí dice capa 2 frame 1.
Las fotos nada tienen que hacer con el cuenta atrás, no entiendo hasta ahora para que le has puesto esas imágenes, si el código lo que hace es mostrar en un campo de texto dinámico la cuenta regresiva del reloj.
Para publicarlo como HTML la película simplemente ve al menú Archivo/Configuración de publicación y en la ventana que aparece le das a Publicar y Acepta.
Te sugiero que antes de hacer cosas más complicadas, aprendas bien a usar el Flash.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #20 (permalink)  
Antiguo 06/09/2007, 20:37
 
Fecha de Ingreso: julio-2003
Mensajes: 100
Antigüedad: 14 años, 4 meses
Puntos: 0
Re: Cuenta atrás....

Bandit, gracias por el codigo funciona muy bien, e intentado modificarlo para aplicarlo a un juego,

Lo que intento es que despues de varios segundos si no se a completado la tarea, pierdes. Lo que no he podido modificar es el hecho de que empieza definiendo una fecha futura y la compara con la actual.

Puedes guiarme con las variables puedo modificar para definir un determinado tiempo, por ejemplo que empiece la cuenta regresiva desde 2 minutos?

Agradezco tu ayuda
Slds
FS
  #21 (permalink)  
Antiguo 07/09/2007, 09:47
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Re: Cuenta atrás....

Hola soasti:
Aquí tienes un código para cuenta regresiva de 2 minutos, ya tú lo acondicionas a tus necesidades.
stop();
var counter = 120; // igual a 2 minutos
tiempo = '02 : 00'; // en el campo de texto inicia con la variable de tiempo asignado
//
function contarTiempo() {
min = Math.floor(counter/60);
seg = (counter>59) ? counter-60 : counter;
seg = (seg<=9) ? '0'+seg : seg;
seg = (seg == 60) ? '00' : seg;
tiempo = '0'+min+' : '+seg;
if (counter<1) {
clearInterval(id);
trace('se acabo el tiempo');
} else {
counter--;
trace('contando: '+counter);
}
}
var id:Number = setInterval(contarTiempo, 2000);

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #22 (permalink)  
Antiguo 07/09/2007, 11:03
 
Fecha de Ingreso: julio-2003
Mensajes: 100
Antigüedad: 14 años, 4 meses
Puntos: 0
Re: Cuenta atrás....

Esta genial Bandit, lo haces ver muy facil lo aplique y funciona muy bien, lo único que cambie fue la frecuencia del intervalo a 1000 milisegundos.

Slds
FS
  #23 (permalink)  
Antiguo 07/09/2007, 14:22
 
Fecha de Ingreso: julio-2003
Mensajes: 100
Antigüedad: 14 años, 4 meses
Puntos: 0
Re: Cuenta atrás....

ya aplicando el script me encontre con el siguiente problema, Voy a tratar de describirlo lo mejor posible:

El rompecabezas tiene 3 niveles, cuando juego el nivel1 la cuenta atrás funciona muy bien, cuando gané este nivel, paso al segundo (este es una pelicula completamente diferente, es decir cuando ganas hace gotoplay("nivel2").

En este presenta intrucciones y empieza.

El problema es que la cuenta atrás va ahora más rápida. Casi al doble. reemplace la pelicula nivel2 con la del nivel1 (es decir puse la misma que funcionaba correctamente) y sigue acelerado.

Si exporto la Pelicula y me salto el nivel1 (es decir voy directo al nivel2), la cuenta atras funciona correctamente.

hice un trace (id); y el resultado en el nivel1 es = 2 y en el nivel2 es = 3.

Que me recomiendas?
Slds
FS
  #24 (permalink)  
Antiguo 07/09/2007, 15:11
 
Fecha de Ingreso: julio-2003
Mensajes: 100
Antigüedad: 14 años, 4 meses
Puntos: 0
Re: Cuenta atrás....

utilize la función clearInterval(); para que detenga el ciclo y funciona cuando exporto el juego.

Ahora el juego se carga desde un menu, y funciona bien la primera vez, pero si regreso al menu principal y entro al juego hay dos inteverlos que corren al mismo tiempo y si salgo y entro nuevamente son 3.

En el boton que regresa el menu puse clearInterval(id); pero no lo detiene, ¿como puedo detenerlo? tengo que darle un path??


Slds
FS

Última edición por soasti; 07/09/2007 a las 22:20
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 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 09:14.