Es el tipico problema de un usuario cuando encuentra funciones como esta, pero no te preocupes se soluciona muy facil, eh pasado muchos minutos de mi vida luchando con esto, en realidad debes matar el proceso de tiempo, el problema es q cada vez que llamas a "setTimeout" o "setInterval" volves a cargar el proceso de ejecucion, osea q si la llamaste dos veces a una misma funcion con setInterval estas duplicando la llamada, si la llamabas cada 2 segundos estarias llamandola cada 1, 1 ,1 ,1 y asi.
Codigo:
Primero q nada debes referenciar con un nombre de id a tu intervalo de tiempo, tanto para setTimeout() como para un simple setInterval().
Código:
//genero un id var para la llamada.
var llamado_a = setInterval(call_func, 2000);
//Funcion llamada
function call_func() {
trace("funcione una vez sola y cuando me necesites volveme a llamar.");
//Elimino el intervalo de tiempo.
clearInterval(llamado_a);
}
Para volver a llamar la funcion de intervalo de tiempo vuelves a invocar a:
Código:
var llamado_a = setInterval(call_func, 2000);
Osea q suponte q el cliente esta mirando fotos y tiene un boton de play/plause para seleccionar entre vista automatica o manual ok?
Crea un Boton play y otro pausa y ponele de nombre de instancia btn_play y pausa_btn y pega este codigo en el primer frame de tu pelicula.
Código:
var llamado_a = setInterval(call_func, 2000);
function call_func() {
trace("funcione una vez sola y cuando me necesites volveme a llamar.");
//clearInterval(llamado_a);
}
//
btn_play.onPress = function() {
var llamado_a = setInterval(call_func, 2000);
};
//
pausa_btn.onPress = function() {
clearInterval(llamado_a);
};
Si no se entendio me avisas, saludos suerte!