Comunidad de diseño web y desarrollo en internet online

Problema con juego de plataformas y deteccion de colisiones

Citar            
MensajeEscrito el 18 Dic 2008 04:30 pm
Hola a todos, llevo mucho tiempo consultando esta web para resolver muchas dudas que me han ido surgiendo sobre todo lo relacionado con Flash y action script 2.
Ahora estoy con un juego de plataformas, y en su mayor parte funciona todo bien, si el personaje toca suelo se para, si toca una plataforma con la cabeza mientras salta se va hacia abajo como toca, al detectar una plataforma a la altura del punto X del personaje principal funciona todo perfecto, tanto a la izquierda como a la derecha, el problema es que si la plataforma le viene a la altura de la cabeza, simplemente la atraviesa o se queda enganchado en ella.
Tanto las plataformas como el suelo del escenario son el mismo clip.
Asi es como detecto las colisiones hacia los lados.

Código :

   // COLISIONES IZQUIERDA Y DERECHA
   //DERECHA
   if (Escenario.hitTest(Personaje._x+Personaje._width/2, Personaje._y, true)) { 
      Personaje._x -= Math.abs(xspeed);
      xspeed = 0;
   } 
   //IZQUIERDA
   if (Escenario.hitTest(Personaje._x-Personaje._width/2, Personaje._y, true)) {
      Personaje._x += Math.abs(xspeed);
      xspeed = 0;
   }


Os paso un crokis de lo que me sucede, el punto rojo es la x del clip.

Por pacobarba

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Dic 2008 05:04 pm
Si bien hitTest es la elección obvia al empezar a hacer juegos, ni bien hilas dos líneas te das cuenta que no es suficiente. Aunque fuerces los FPS para que se ejecute mas rápido, seguirá fallando. Por eso se ha desarrollado distintas técnicas para la programación de juegos. En tu caso (un personaje recorriendo un escenario) lo mas adecuado es usar Tiles, busca en http://www.gotoAndPlay.it el tutorial al respecto

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Dic 2008 11:11 am
Hola, gracias por tu respuesta, estuve mirando el tema de usar Tiles, pero el problema está en que lo que pretendo hacer no es un juego de plataformas normal, sino que las propias plataformas se desplazan en algunos casos y he visto que para utilizar tiles no hay opcion de crear un escenario en tiempo de diseño sino que hay que crear una matriz e ir colocando todo, con lo que al estar moviendose una plataforma no funcionarian bien, de todas formas seguire buscando alguna manera de hacerlo funcionar y sino me tocara meterme de fondo con los Tiles.
Un saludo.

Por pacobarba

2 de clabLevel



 

firefox

 

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