Comunidad de diseño web y desarrollo en internet online

hitTest (colision), problema con coordenadas _x, _y

Citar            
MensajeEscrito el 22 Feb 2008 11:57 pm
Hola

Estoy aprendiendo ActionScript por mi cuenta, y pretendia hacer un plataformas como ejemplo.
El AS de mario es lo basico para saltar y moverse a los lados; en donde "mundo" es el escenario:

Código :

onClipEvent (enterFrame) {
   if (Key.isDown(Key.LEFT)){
      this._x -= veloz;
   }
   if (Key.isDown(Key.RIGHT)){
      this._x += veloz;
   }
   if (Key.isDown(Key.UP)){
         if(_root.mundo.hitTest(this._x, this._y,true)) { 
            salto = 5; 
         }
   }
   this._y -= salto;
   salto -= 0.2;
   if(_root.mundo.hitTest(this._x, this._y,true)){
      salto = 0;
   }
 }

Si entramos al clip de pelicula, el dibujo está puesto en las coordenadas 0,0. Lo mismo con el clip de pelicula de mundo.
El problema que tengo es que no colisionan bien (como si el escenario estubiese más arriba):


¿Cual pensais que es el problema?
Saludos

Por $var

405 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Feb 2008 02:42 am
este es un problema de hitTest ,
las coordenadas x,y que defines como parametros de hitTest son transformadas en globales por hitTest quiere decir que son relativas a root o al menos eso es lo que recuerdo.

prueba con esto :

Código :

MovieClip.prototype.hitTest2 = function(x,y,shapeFlag) {
   var point:Object = {x:x, y:y};
   this.localToGlobal(point);
   return this.hitTest(point.x, point.y, shapeFlag);
   
};


aun necesito trabajar ese codigo , espero que te de una idea mas clara del problema.

Por paranoio

75 de clabLevel



 

Mexico

firefox
Citar            
MensajeEscrito el 04 Mar 2008 07:51 pm
Gracias por tu ayuda, paranoio. Perdona por responderte con tanto retraso, pero es que he estado de examenes.

Veo que es la funcion localToGlobal lo que convierte las coordenadas locales en globales.
Probaré esto hasta que me salga, no creo que me de problemas con lo que me has dicho.

Saludos y gracias de nuevo.

Por $var

405 de clabLevel



 

firefox

 

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