estoy trabajando con el siguiente preloader en AS3 :
Código ActionScript:
Ver original
package preload { import flash.display.Stage; import flash.display.MovieClip; import flash.display.Shape; 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(); posicionaPreload(); this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onLoadProgress); this.loaderInfo.addEventListener(Event.COMPLETE, onLoadComplete); } 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() { trace (texto.x); 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 } 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); nextFrame(); } } }
y lo llamo desde el primer frame
Código ActionScript:
Ver original
import preload.*; var preloader:PreloadBasico = new PreloadBasico; stop();
pero me devuelve este error :
TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at preload::PreloadBasico/posicionaPreload()
at preload::PreloadBasico$iinit()
at precios_fla::MainTimeline/precios_fla::frame1()
¿podríais decirme que tengo que corregir?
Gracias