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

detener por cierto tiempo?

Estas en el tema de detener por cierto tiempo? en el foro de Flash y Actionscript en Foros del Web. hola, como puedo con actionscript detener la ejecucion de una pelicula por n seg.? gracias:)...
  #1 (permalink)  
Antiguo 10/03/2006, 15:09
Avatar de biffly  
Fecha de Ingreso: junio-2005
Mensajes: 315
Antigüedad: 19 años, 5 meses
Puntos: 0
detener por cierto tiempo?

hola, como puedo con actionscript detener la ejecucion de una pelicula por n seg.? gracias:)
__________________
Sigue al indio desnudo... Pero con precaución, atendiendo las señales de transito y comentando todo lo que haces.
REM Hay que encontrar el camino de regreso y no siempre es facil....
  #2 (permalink)  
Antiguo 10/03/2006, 16:01
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 8 meses
Puntos: 0
hola
para detener la reproduccion de un MovieClip yo uso un método añadido (prototype)

este código al principio de todo

Código:
MovieClip.prototype.detener = function(milisegundos:Number){
	//establecemos un tiempo de inicio
	var tiempo_incio:Number = getTimer();
	
	//definimos una variable haciendo referencia a este movieClip (ya que por se pierde la referencia dentro de setInterval)
	var cual_movie:MovieClip = this;

	//detenemos la reproduccion
	cual_movie.stop();
	
	//creamos una función para verificar si ya ha transcurrido el tiempo
	var verificar_tiempo:Function = function(){
		if(getTimer() - tiempo_incio >= milisegundos){
			//si ya se cumplió el tiempo reproducimos la película y elminamos la verificacion
			clearInterval(comienza_a_verificar);
			cual_movie.play();
		}
		//cuanto tiempo pasó
		trace(getTimer() - tiempo_incio);
	}
	var comienza_a_verificar:Number = setInterval(verificar_tiempo,10);
}
//--------------------------------->
y para usarlo es tan sencilo como hacer: pelicula_mc.detener(5000);

por ejemplo:
haz un MovieClip con una animación siemple de unos 100 fotogramas
y ponle nombre de instancia: animacion

ahora con este código lo que haremos es que a la mitad de la animación se detenga por 10000 milisegundos (10 seg)

Código:
animacion.onEnterFrame = function(){
	if(this._currentframe == Math.round(this._totalframes/2)){
		this.detener(10000);
		delete this.onEnterFrame;
	}
}
descarga ejemplo
__________________
Si digo que soy mentiroso. ¿Lo soy?
  #3 (permalink)  
Antiguo 10/03/2006, 16:15
Avatar de biffly  
Fecha de Ingreso: junio-2005
Mensajes: 315
Antigüedad: 19 años, 5 meses
Puntos: 0
ok gracias, lo voy a probar, pero como seria si lo que quiero detener es una animacio que corre en el root y en el frame 33? para darte un ejemplo
__________________
Sigue al indio desnudo... Pero con precaución, atendiendo las señales de transito y comentando todo lo que haces.
REM Hay que encontrar el camino de regreso y no siempre es facil....
  #4 (permalink)  
Antiguo 10/03/2006, 16:23
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 8 meses
Puntos: 0
en el fotograma 33 tendrías que poner: this.detener(10000);

:D
__________________
Si digo que soy mentiroso. ¿Lo soy?
  #5 (permalink)  
Antiguo 10/03/2006, 16:35
Avatar de rusoftware  
Fecha de Ingreso: abril-2004
Ubicación: Rosario - Argentina
Mensajes: 1.083
Antigüedad: 20 años, 7 meses
Puntos: 2
Creo que este código que una vez posteó Bandit es menos engorroso y más práctico...

En el fotograma donde quieres detener la película pon lo siguiente:
Cita:
stop();
segundos = 5;
espera = function () {
play();
clearInterval(a);
};
a = setInterval(espera, segundos*1000);
Eso lo detendrá 5 segundos, si quieres más o menos, cambia el 5 por la cantidad de segundos que desees.

Un abrazo
  #6 (permalink)  
Antiguo 10/03/2006, 16:45
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 8 meses
Puntos: 0
Cita:
Iniciado por rusoftware
este código ... es menos engorroso y más práctico...
creo que confundes un poco las cosas

si tuvieras que hacer 10 veces pausas en distintos lugares
tendrías que repetir innecesariamente 10 veces el mismo código
cosa que no es muy práctico

en cambio es más sencillo y tiene más precisión poner en cualquier contexto

_root.movieClip.detener(5000);
this._parent.detener(1000);
clip_mc['p'+n].detener(60000);

usando el mismo código

el echo de que un código sea mas pequeño no quiere decir que sea más practico y funcional

:D
__________________
Si digo que soy mentiroso. ¿Lo soy?
  #7 (permalink)  
Antiguo 10/03/2006, 16:48
Avatar de rusoftware  
Fecha de Ingreso: abril-2004
Ubicación: Rosario - Argentina
Mensajes: 1.083
Antigüedad: 20 años, 7 meses
Puntos: 2
Es cierto, pero en la pregunta no interpreté que el quería hacer 10 pausas, sino solo una...

Un abrazo
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




La zona horaria es GMT -6. Ahora son las 17:19.