Comunidad de diseño web y desarrollo en internet online

Problema con hitTest()

Citar            
MensajeEscrito el 01 Dic 2008 03:48 pm
Por que no funciona este hittest?

Código :

setInterval(animacion,10)

function animacion(){
   if(MCcontenedor.piso.hitTest(MCcontenedor.personaje._x,MCcontenedor.personaje._y, true)){
      //personaje toca el suelo
      
   } else {
      
      //personaje esta en el aire
      PJ._y += 10
   }
}


en cambio si pongo el codigo dentro de MCcontenedor , si que funciona (quitarndo MCcontenedor. de la ruta obviamente)
como puedo hacer para que el hittest funcione desde _root sin tener que cambiar como estan organizados los MC??

Por fermmm

Claber

122 de clabLevel



 

chrome
Citar            
MensajeEscrito el 01 Dic 2008 07:46 pm
El hitTest de coordenadas se hace con respecto a las _x y las _y del Stage, por lo tanto debes convertir las coordenadas del objeto de local a global para que te funcione correctamente.

Código ActionScript :

setInterval(animacion,10);

function animacion() {

   var posX:Number = MCcontenedor.personaje._x;
   var posY:Number = MCcontenedor.personaje._y;

   var point:Object = {x:posX, y:posY};
   MCcontenedor.localToGlobal(point);

   if (MCcontenedor.piso.hitTest(point.x, point.y, true)) {

      //personaje toca el suelo

   } else {

      //personaje esta en el aire
      PJ._y += 10;

   }
}

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 02 Dic 2008 09:17 am
muchas gracias

Por fermmm

Claber

122 de clabLevel



 

chrome

 

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