¿Como hago para que cuando el jugador este comprimido entre dos bloques muera?
Algo así:
Platform >>> Player|Block| La plataforma se mueve.
Platform|Player|Block| La plataforma comprime al jugador contra el bloque.
Platform||Block| El jugador se destruye porque no tiene espacio.
Se puede hacer de distintas maneras. Una manera es preguntar si la distancia entre el bloque y la plataforma es menor o igual all ancho del sprite del jugador, si es cierto, quiere decir que ambas estructuras están tan cerca que pueden aplastar/comprimir al jugador. Luego, se pregunta si el jugador está en medio de las dos.
[gml]
if abs(obj_plataform.x - obj_block.x) <= 32 //Estoy suponiendo que el ancho del sprite del jugador es aprox. 32 pixeles
{
if (obj_player.x > obj_bloque.x) and (obj_player.x < obj_plataforma)
muerte = true //El jugador muere. Aplastamiento: bloque - jugador - plataforma
else if (obj_player.x > obj_plataforma.x) and (obj_player.x < obj_bloque)
muerte = true //El jugador muere. Aplastamiento: plataforma - jugador - bloque
}
[/gml]
Esto es una idea básica. Esto sólo funciona si idealmente hay una sola plataforma y un solo bloque. Obviamente la idea se puede extender para más plataformas y más bloques, pero entonces se tendría que crear un método para identificar qué plataforma y qué bloques se van a usar en las comparaciones de los ifs anteriores (mediante identificadores de instancia)
Ok, gracias por responder, me ayudaste bastante :D