Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/10/2010, 15:25
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
Respuesta: Objeto nulo en preloader AS3

Tal y como decías, así funciona :
Código Actionscript:
Ver original
  1. package preload
  2. {
  3.     import flash.display.*;
  4.     import flash.text.TextField;
  5.     import flash.events.*
  6.  
  7.  
  8.  
  9.    public dynamic class PreloadBasico extends MovieClip
  10.    {
  11.       private var texto:TextField;
  12.       private var marco:Shape;      
  13.       private var barra:Shape;
  14.        
  15.       public function PreloadBasico ()
  16.       {
  17.          dibujaPreload();
  18.          this.addEventListener(Event.ADDED, posicionaPreload)
  19.         // this.loaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);   
  20.  
  21.  
  22.       }
  23.  
  24.    
  25.       public function dibujaPreload() {
  26.          texto = new TextField();
  27.          marco = new Shape();
  28.          barra = new Shape();
  29.          marco.graphics.lineStyle(1, 0x000000);
  30.          marco.graphics.drawRoundRect(0, 20, 70, 5, 0);
  31.          barra.graphics.beginFill(0x000000);
  32.          barra.graphics.drawRect(0, 20, 70, 5);
  33.          barra.graphics.endFill();  
  34.          addChild(texto);
  35.          addChild(marco);
  36.          addChild(barra);
  37.          
  38.       }
  39.       public function posicionaPreload(event:Event)
  40.       {
  41.          texto.x = marco.x = barra.x = stage.stageWidth /2 - marco.width /2
  42.          texto.y = stage.stageHeight /2 - texto.height /2
  43.          marco.y = barra.y = texto.y + 5
  44.          this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onLoadProgress);
  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 (evento:Event):void
  56.          {
  57.             removeChild(texto);
  58.             removeChild(marco);
  59.             removeChild(barra);
  60.             nextFrame();
  61.          }
  62.  
  63.    
  64.    }
  65. }

ya solo queda el final, si descomento la linea del evento COMPLETE da el mismo error.