Me he gastado un montón de tiempo intentando hacer esto, y bueno no he dado con el punto. En un inicio crei que todo se resolvería con el manejo del comando _root, pero no sucedió.
Dirigiendome al caso concreto, tengo un swf principal que tiene un cronómetro en cuenta regresiva.
Este flash me llama un flash secundario que tiene un juego. La idea es que si el tiempo se acaba me aparece un pop up que me dice que falle y debo reiniciar. Sin embargo si yo termino el juego antes de que termine el tiempo, este pop up no debe salir y eso no sucede.
El contador esta dentro de un movie clip, asi que entre las instrucciones que se dan cuando se cumple la condición de completar el puntaje en el juego, indiqué que este movieclip tuviera un visible=false, no funcionó, porque asi yo quite el movie clip la funcion del contador se sigue ejecutando. Entonces intente resetear desde el swf secundario la funcion que me ejecuta el cronometro, pero no lo hace.
Encontré en internet el manejo de clearInterval, pero el codigo que estoy usando no utiliza esta función.
Les comparto el código del cronómetro para que tengan una idea más clara.
Y ahi queda mi pregunta, ¿es posible desde un swf secundario frenar una funcion que se ejecuta en un swf principal?
Por otro lado, no deje el cronometro en el swf secundario, porque al abrir el swf principal no se visualiza el cronometro.
Gracias por la ayuda que me puedan prestar,
Código ActionScript :
////contador de tiempo start_time = getTimer(); countdown = 30000; onEnterFrame = function () { elapsed_time = getTimer()-start_time; count_down.text = time_to_string(countdown-elapsed_time); }; function time_to_string(time_to_convert) { elapsed_hours = Math.floor(time_to_convert/3600000); remaining = time_to_convert-(elapsed_hours*3600000); elapsed_minutes = Math.floor(remaining/60000); remaining = remaining-(elapsed_minutes*60000); elapsed_seconds = Math.floor(remaining/1000); remaining = remaining-(elapsed_seconds*1000); elapsed_fs = Math.floor(remaining/10); if (elapsed_hours<10) { hours = "0"+elapsed_hours.toString(); } else { hours = elapsed_hours.toString(); } if (elapsed_minutes<10) { minutes = "0"+elapsed_minutes.toString(); } else { minutes = elapsed_minutes.toString(); } if (elapsed_seconds<10) { seconds = "0"+elapsed_seconds.toString(); } else { seconds = elapsed_seconds.toString(); } if (elapsed_fs<10) { hundredths = "0"+elapsed_fs.toString(); } else { hundredths = elapsed_fs.toString(); } if (elapsed_time>29999) { _root.reiniciar._visible = true; count_down._visible=0; _root.boton1.enabled = 0; _root.boton2.enabled = 0; _root.boton3.enabled = 0; _root.boton4.enabled = 0; } else { return hours+":"+minutes+":"+seconds+":"+hundredths; } }