Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/10/2010, 10:29
Avatar de dvpareja
dvpareja
 
Fecha de Ingreso: junio-2010
Ubicación: Vélez-Málaga
Mensajes: 126
Antigüedad: 14 años, 5 meses
Puntos: 11
Pregunta Objeto nulo en preloader AS3

Hola a todos,

estoy trabajando con el siguiente preloader en AS3 :

Código ActionScript:
Ver original
  1. package preload
  2. {
  3.    
  4.     import flash.display.Stage;
  5.     import flash.display.MovieClip;
  6.     import flash.display.Shape;
  7.     import flash.text.TextField;
  8.     import flash.events.*
  9.  
  10.  
  11.  
  12.    public class PreloadBasico extends MovieClip
  13.    {
  14.       private var texto:TextField;
  15.       private var marco:Shape;      
  16.       private var barra:Shape;
  17.        
  18.       public function PreloadBasico ()
  19.       {
  20.          dibujaPreload();
  21.          posicionaPreload();
  22.          this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onLoadProgress);
  23.          this.loaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
  24.  
  25.       }
  26.    
  27.       public function dibujaPreload() {
  28.          texto = new TextField();
  29.          marco = new Shape();
  30.          barra = new Shape();
  31.          marco.graphics.lineStyle(1, 0x000000);
  32.          marco.graphics.drawRoundRect(0, 20, 70, 5, 0);
  33.          barra.graphics.beginFill(0x000000);
  34.          barra.graphics.drawRect(0, 20, 70, 5);
  35.          barra.graphics.endFill();  
  36.          addChild(texto);
  37.          addChild(marco);
  38.          addChild(barra);
  39.       }
  40.       public function posicionaPreload() {
  41.          trace (texto.x);
  42.          texto.x = marco.x = barra.x = stage.stageWidth /2 - marco.width /2
  43.          texto.y = stage.stageHeight /2 - texto.height /2
  44.          marco.y = barra.y = texto.y + 5
  45.       }
  46.       function onLoadProgress (event:ProgressEvent):void
  47.          {
  48.             var cargado:int = event.bytesLoaded;
  49.             var total:int = event.bytesTotal;
  50.             var porcentaje:int = cargado/total*100;
  51.             texto.text = "Cargado: "+String(porcentaje)+"%";
  52.             barra.width = porcentaje*marco.width/100;
  53.          }
  54.          //----------------------------------------
  55.       function onLoadComplete (event:Event):void
  56.          {
  57.             removeChild(texto);
  58.             removeChild(marco);
  59.             removeChild(barra);
  60.             nextFrame();
  61.          }
  62.  
  63.    
  64.    }
  65. }

y lo llamo desde el primer frame

Código ActionScript:
Ver original
  1. import preload.*;
  2. var preloader:PreloadBasico = new PreloadBasico;
  3. 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