Comunidad de diseño web y desarrollo en internet online

Error al ejecutar escena game over

Citar            
MensajeEscrito el 29 Oct 2018 06:12 pm
Buenos dias, al perder la partida se me lanza un error sobre el juego.
He revisado varias veces y aprece estar todo bien, pero me sigue lanzando el error.
El error es el siguiente,

Código :

TypeError: Error #1009: Cannot access a property or method of a null object reference.
   at NinjaPong_fla::MainTimeline/controlpelota()[NinjaPong_fla.MainTimeline::frame2:78]


y me aparece cuando agrego la linea de codigo para pasar a la escena siguiente en caso de perder.

Código :

else if(Pelota.x < 19 || Pelota.x > 781 || Pelota.y < 19 || Pelota.y > 461){
      gotoAndStop(1, "GameOver");
   }


el codigo completo de la parte donde me aparece el error es el siguiente, me podrias ayudar por favor. Son 4 jugadores que tengo.

Código :

addEventListener(Event.ENTER_FRAME, controlpelota);
 
function controlpelota (event){
   
   movimientox = velocidad * dirx;
   movimientoy = velocidad * diry;
   
   Pelota.x = Pelota.x + movimientox;
   Pelota.y = Pelota.y + movimientoy;
   
   //deteccion de colisiones
   
   if(Pelota.hitTestObject(PersonajeAbajo)== true){
      diry = -1;
      velocidad = velocidad++;
   }
   else if(Pelota.hitTestObject(PersonajeArriba)== true){
      diry = 1;
      velocidad = velocidad++;
   }
   else if(Pelota.hitTestObject(PersonajeIzquierda)== true){
      dirx = 1;
      velocidad = velocidad++;
   }
   else if(Pelota.hitTestObject(PersonajeDerecha)== true){
      dirx = -1;
      velocidad = velocidad++;    //aumentar la velocidad de la pelota cuando toca el persoaje
   }
   
//GameOver
   
   else if(Pelota.x < 19 || Pelota.x > 781 || Pelota.y < 19 || Pelota.y > 461){
      gotoAndStop(1, "GameOver");
   }
   
   
}

Por ezequielvillagra

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 30 Oct 2018 08:33 pm
En AS3 los metodos no son globales en general y no se asume que estes en un MovieClip. Si estas en un MovieClip prueba

this.gotoAndStop(1, "GameOver");

Si el comando no esta en la linea de tiempo principal, supongamos que root es quien tiene el fotograma en cuestion, puedes hacer un cast

MovieClip(root).gotoAndStop(1, "GameOver");

Jorge

Por solisarg

BOFH

13553 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.