Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: bygdle en Noviembre 18, 2015, 07:26:12 PM

Título: problemas con colisiones en juego de plataformas
Publicado por: bygdle en Noviembre 18, 2015, 07:26:12 PM
hola a todos! Estoy haciendo unos juegos de plataformas muy sencillos, pero tengo problemas más grandes que el juego mismo. Verán, las colisiones me están fallando mucho, el player se queda atascado cada rato y a veces sale volando y cosas así. No sé por que me pasa esto. El código de colisiones que tengo es así:

Evento: Player, colisión con muro
[gml]
vspeed = 0;
move_outside_solid(direction,32);
[/gml]

y además, por si acaso, muestro el código de movimiento:


Evento Step:
[gml]
//Movimiento
if place_free(x+4,y) && keyboard_check(ord('D'))
x +=4;
if place_free(x-4,y) && keyboard_check(ord('A'))
x -=4;

//gravedad
gravity_direction = 270;
if place_free(x,y+1)
gravity = 1;
else
gravity = 0;

//Salto
if !place_free(x,y+1) && keyboard_check(vk_space)
vspeed = -16;
[/gml]

Y bueno, normalmente funciona, pero hay muchos errores. Quisiera que me ayudaran para mejorar este sistema de colisiones, gracias...xD
PD: Sí, los muros son sólidos, por si acaso...
Título: Re:problemas con colisiones en juego de plataformas
Publicado por: Clamud en Noviembre 18, 2015, 07:50:20 PM
El error está en el código de colisión. La velocidad se debe cambiar hasta el final porque eso también modifica a la variable direction. La salida del sólido se debe realizar en dirección opuesta al movimiento, entonces el código quedaría así:
[gml]
move_outside_solid( direction+180, -1 );
vspeed = 0;
[/gml]
Pero este código sólo contempla las colisiones en dirección horizontal, falta la parte que controla las colisiones en dirección vertical. Adjunto un ejemplo de antiguo de plataformas sencillo, que hice hace tiempo.

Esta es la forma más fácil de programar un juego de plataformas, pero no es la más óptima, los porqués se explican en estos artículos:
http://www.comunidadgm.org/articulos/colisiones-con-tiles-(programacion)/ (http://www.comunidadgm.org/articulos/colisiones-con-tiles-(programacion)/)
https://www.yoyogames.com/tech_blog/40 (https://www.yoyogames.com/tech_blog/40)

Estoy preparando un tutorial de plataformas con tiles, espero publicarlo pronto.
Título: Re:problemas con colisiones en juego de plataformas
Publicado por: bygdle en Noviembre 19, 2015, 08:58:00 PM
No entiendo bien ese sistema  :-X .
Puedes intentar explicármelo? para poder adaptarlo mejor a mi juego