Comunidad de diseño web y desarrollo en internet online

Error al cargar swf externo

Citar            
MensajeEscrito el 06 Ago 2015 07:06 pm
Saludos amigos tengo un problema a ver si me pueden ayudar, estoy llamando a un swf externo desde otro en el cual estoy usando un UIloader para cargarlo, el swf externo al publicarlo sale todo correcto pero cuando intento cargarlo dentro de otro swf me sal este error:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at frmGame/fnGameStart()[E:\APP PONTE ONCE\game\play\download\frmGame.as:142]
at frmGame()[E:\APP PONTE ONCE\game\play\download\frmGame.as:31]


mi pregunta es a que se debe esto lo que entiendo es que me dice que el problema esta en frmGame.as si me podrian ayudar estaria muy agradecido dejo el codigo de frmGame.as Gracias

Código ActionScript :

package 
{
   import flash.display.MovieClip;
   import flash.events.MouseEvent;
   import flash.events.KeyboardEvent;
   import flash.events.Event;
   
   /**
    * BIRD GAME
    * @author mclelun
    */
   public class frmGame extends MovieClip 
   {
      protected const vMapW:int = 700;
      protected const vMapH:int = 400;
      
      private var _P:clsBird;
      private var _PIPE:clsPipe;
      
      private var vIsPause:Boolean = false;
      private var vIsFlap:Boolean = false;
      private var vPipeMax:int = 3;
      private var vYSpeed:Number = 0;
      private var vYSpeedMax:Number = 1;
      private var vXSpeed:int = 10;
      private var vScores:int = 0;
      private var vScoresBest:int = 0;
      
      public function frmGame()
      {
         fnGameStart();   
      }
      
      //EVENT: ENTERFRAME
      private function o_enterFrame(e:Event):void
      {
         if (!vIsPause)
         {
            fnMovePlayer();
            fnMoveMap();
         }
      }
            
      //EVENT: MOUSE UP
      private function o_mUp(e:MouseEvent):void
      {
         if (e.target.name == "btnReplay")
         {
            fnGameRestart();
         }
         else
         {
            vIsFlap = true;
         }
      }
      
      //EVENT: Keyboard
      private function o_keyDown(e:KeyboardEvent):void
      {
         switch (e.keyCode) 
         {
            default:
               vIsFlap = true;
         }

      }
      
      //FUNC: Move Player/BIRD
      private function fnMovePlayer():void
      {
         if (_P.y < vMapH +_P.height && _P.y > 0 -_P.height ) // Didnt drop out of screen
         {
            if (!vIsFlap)
            {
               vYSpeed+=1.3;
            }
            else
            {
               vYSpeed = -13;
               vIsFlap = false;
            }
            _P.y += vYSpeed;
            _P.rotation = _P.y /2;
         }
         else
         {
            fnGameOver();
         }
      }
      
      //FUNC: Move Map/PIPES
      private function fnMoveMap():void
      {
         for (var i:int = 0; i < vPipeMax; i++)
         {
            var tmpPipe = _conMap.getChildAt(i);
            
            //if (tmpPipe.hitTestObject(_P))
            if (tmpPipe._HIT.hitTestPoint(_P.x, _P.y, true))
            {
               fnGameOver();
            }
            else
            {
               if (tmpPipe.x < 0)
               {
                  tmpPipe.x = 1050 - vXSpeed;
                  tmpPipe.y = Math.random() * 250;
                  vScores++;
                  txtScores.text = vScores.toString();
               }
               else
               {
                  tmpPipe.x -= vXSpeed;
               }
            }
         }
      }
      
      //FUNC: Game Start
      private function fnGameStart():void
      {
         //ADD BIRD
         _P = new clsBird();
         _P.x = vMapW / 4;
         _P.y = vMapH / 3;
         _conP.addChild(_P);
         
         //ADD PIPE
         for (var i:int = 0; i < vPipeMax; i++)
         {
            var tmpPipe:clsPipe = new clsPipe();
            tmpPipe.x = (i * 350) + 1050;
            tmpPipe.y = Math.random() * 250;
            _conMap.addChild(tmpPipe);
         }
         
         btnReplay.visible = false;
         
         //EVENTLISTENER
         addEventListener(Event.ENTER_FRAME, o_enterFrame, false, 0, true);
         this.stage.addEventListener(MouseEvent.MOUSE_UP, o_mUp, false, 0, true);
         this.stage.addEventListener(KeyboardEvent.KEY_DOWN, o_keyDown, false, 0, true);
      }
      
      //FUNC: Game Over
      private function fnGameOver():void
      {
         vIsPause = true;
         btnReplay.visible = true;
      }
      
      //FUNC: Game Restart
      private function fnGameRestart():void
      {
         vIsPause = false;
         vYSpeed = 0;
         btnReplay.visible = false;
         
         if (vScores > vScoresBest)
         {
            vScoresBest = vScores;
         }
         txtScoresBest.text = vScoresBest.toString();
         vScores = 0;
         txtScores.text = vScores.toString();
      
         _P.x = vMapW / 4;
         _P.y = vMapH / 3;
         
         for (var i:int = 0; i < vPipeMax; i++)
         {
            var tmpPipe = _conMap.getChildAt(i);
            tmpPipe.x = (i * 350) + 1050;
            tmpPipe.y = Math.random() * 250;
         }
      }
      
      //FUNC: KILL ALL :D
      private function fnKill():void
      {
         removeEventListener(Event.ENTER_FRAME, o_enterFrame);
         this.removeEventListener(MouseEvent.MOUSE_UP, o_mUp);
         this.stage.removeEventListener(KeyboardEvent.KEY_DOWN, o_keyDown);
      }
      
   }
   
}

Por orlandoallos

11 de clabLevel



 

chrome
Citar            
MensajeEscrito el 24 Ago 2015 07:22 pm
Si el error está en alguna de las líneas que dice

this.stage.addEventListener

Ocurre que al cargarlo en otro, el stage no está disponible hasta que no se ejecuta un addChild, con lo cual tienes que poner cualquier código relacionado con el Stage despues que se ejecute el evento Event.ADDED_TO_STAGE, consulta la ayuda

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

   Página 1 de 1

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.