Ya casi está solucionado. Con el código, tal y como lo pongo a continuación, si hago una simulación de descarga, funciona perfectamente. Sale el preloader, y carga el siguiente frame. Pero si lo ejecuto normal, o en web, carga el preloader y no salta al siguiente frame. Esto ya es la pera !!
Código Actionscript:
Ver originalpackage preload
{
import flash.display.*;
import flash.text.TextField;
import flash.events.*
public class PreloadBasico extends MovieClip
{
private var texto:TextField;
private var marco:Shape;
private var barra:Shape;
public function PreloadBasico ()
{
dibujaPreload();
this.addEventListener(Event.ADDED, posicionaPreload)
}
public function dibujaPreload() {
texto = new TextField();
marco = new Shape();
barra = new Shape();
marco.graphics.lineStyle(1, 0x000000);
marco.graphics.drawRoundRect(0, 20, 70, 5, 0);
barra.graphics.beginFill(0x000000);
barra.graphics.drawRect(0, 20, 70, 5);
barra.graphics.endFill();
addChild(texto);
addChild(marco);
addChild(barra);
}
public function posicionaPreload(event:Event)
{
texto.x = marco.x = barra.x = stage.stageWidth /2 - marco.width /2
texto.y = stage.stageHeight /2 - texto.height /2
marco.y = barra.y = texto.y + 5
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onLoadProgress);
this.loaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
}
function onLoadProgress (event:ProgressEvent):void
{
var cargado:int = event.bytesLoaded;
var total:int = event.bytesTotal;
var porcentaje:int = cargado/total*100;
texto.text = "Cargado: "+String(porcentaje)+"%";
barra.width = porcentaje*marco.width/100;
}
//----------------------------------------
function onLoadComplete (event:Event):void
{
removeChild(texto);
removeChild(marco);
removeChild(barra);
this.nextFrame();
}
}
}