Y es que el problema viene cuando presiono uno de los botones y comienza el proceso de precarga, si presiono otro antes que termine de cargar se me van montando las precargas, el proceso se vuelve más lento y al final se me montan las películas una sobre otra dentro del movieclip. La preguntas es: ¿Como seria para cancelar el proceso del preloader, cuando presione otro botón si este aún no ha terminado?
Código :
package {
import flash.text.*;
import flash.net.*;
import flash.display.*;
import flash.system.*;
import flash.events.*;
public class boton_ir extends MovieClip {
public function boton_ir() {
preloader_mc.visible=false;
with (menu_mc) {
uno_btn.addEventListener(MouseEvent.CLICK, hace01);
//.
//.
//.
siete_btn.addEventListener(MouseEvent.CLICK, hace07);
}
}
private function hace01(event:MouseEvent):void {
hace("uno");
}
//.
//.
//.
private function hace07(event:MouseEvent):void {
hace("siete");
}
private function hace(a):void {
var cargador:Loader = new Loader();
cargador.contentLoaderInfo.addEventListener(Event.OPEN, onOpen);
cargador.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
cargador.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
cargador.load(new URLRequest(a+".swf"));
function onOpen(e:Event):void {
if (ventana_mc.numChildren > 0) {
ventana_mc.removeChildAt(0);
}
preloader_mc.visible=true;
}
function onProgress(e:ProgressEvent):void {
var porc:Number=Math.round((e.bytesLoaded * 100)/e.bytesTotal);
preloader_mc.porc_txt.text=porc + "%";
preloader_mc.gotoAndStop(porc);
}
function onComplete(event:Event):void {
preloader_mc.visible = false;
ventana_mc.addChild(cargador);
cargador.removeEventListener(Event.COMPLETE, onComplete);
}
}
}// fin clase
}//fin paquete
