hice un preloader con otro tutorial que encontre por ahy, el codigo lo entiendo, el preloader carga en el centro de la ventana muy bien...pero mi problema es, que cuando recargo la pagina el preloader queda en la esquina superior izquierda y solo muestra un pedazo del preloader, cualquier ayuda es bien agradecida
aqui esta el codigo del preloader `
Código ActionScript :
package preload
{
import flash.display.BitmapData;
import flash.display.IBitmapDrawable;
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.events.TimerEvent;
import flash.geom.Matrix;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.utils.ByteArray;
import flash.utils.Timer;
import mx.controls.Image;
import mx.preloaders.DownloadProgressBar;
import org.osmf.image.ImageElement;
import org.osmf.image.ImageLoader;
/*#########################################################################
Class created for http://askmeflash.com
get answers to all your flash, flex, FMS problems at askmeflash.com its free
Flash developers website http://askmeflash.com
##########################################################################*/
public class CustomPreloader extends DownloadProgressBar {
private var timer:Timer;
//progress bar
private var pBar:Sprite= new Sprite();
//Progress bar mask
private var maskBar:Sprite= new Sprite();
//Text box to diplay loading percentage
private var txtBox:TextField = new TextField();
//loader for loading swf design of progress bar
private var Iloader:Loader;
private var loader:Loader;
//Load swf file containing design of progress bar
[ Embed(source= "greenBar.swf", mimeType="application/octet-stream") ]
public var WelcomeScreenGraphic:Class;
//background color
private var bgSprite:Sprite= new Sprite();
private var txtFormat:TextFormat;
public var btimap:BitmapData;
public function CustomPreloader()
{
bgSprite.graphics.clear();
this.addChild(bgSprite);
//timer
timer = new Timer(1);
timer.addEventListener(TimerEvent.TIMER, drawProgress );
timer.start();
//loading swf file of progress bar design
loader= new Loader();
btimap = new BitmapData(400, 250);
//Iloader = new Loader;
//Iloader.load(requests);
loader.loadBytes( new WelcomeScreenGraphic() as ByteArray );
pBar.addChild(loader);
this.addChild(txtBox);
pBar.addChild(maskBar);
//pBar.addChild(Iloader);
pBar.mask=maskBar;
//position textbox
txtBox.textColor=0xFFFFFF; //000000
txtFormat= new TextFormat();
txtFormat.font="Helvetica";
//mask.height = 200
//background color of preloader
bgSprite.graphics.beginFill(0x000000); //FFFFFF
bgSprite.graphics.drawRect(0,0,640,480);
bgSprite.graphics.endFill();
}
override public function set preloader( preloader:Sprite ):void
{
preloader.addEventListener(ProgressEvent.PROGRESS, SWFDownloadProgress);
//position progressbar to center of stage
var centerX:Number=(this.stage.stageWidth - 475) / 2;
var centerY:Number=(this.stage.stageHeight - 153) / 2;
pBar.x = centerX;
pBar.y = centerY;
txtBox.x=centerX+6;
txtBox.y=centerY-14;
bgSprite.width=this.stage.stageWidth;
bgSprite.height=this.stage.stageHeight;
this.addChild(pBar);
}
private var progress:Number;
private function SWFDownloadProgress( event:ProgressEvent ):void {
//progress multiplied by 2 cos our progress bar design is 200 px
var multiplier:Number=2;
progress=multiplier*Number(event.target.loaderInfo.bytesLoaded/event.target.loaderInfo.bytesTotal*100);
}
private var currlen:Number=0;
public function drawProgress(event: Event):void{
//change the mask color to the color of your background
if(currlen<progress)
{
currlen+=1;
maskBar.graphics.beginFill(0x0000ff);
maskBar.graphics.drawRect(0,0,currlen+400,250);
maskBar.graphics.endFill();
txtBox.y = (stage.height/2)+120;
txtBox.text="Cargando.."+Math.round(currlen/2)+"%";
txtBox.setTextFormat(txtFormat);
}
if(currlen==200){
timer.stop();
dispatchEvent( new Event( Event.COMPLETE ) );
}
}
}
} 