Se que es algo superbasico
pero e estado probando diferentes maneras de implementar un plataformas pero ya casi me arranco todos los pelos y aun no puedo saber porque no colisiona
este es mi codigo:
//Controles
keyLeft = -keyboard_check (vk_left)
keyRight = keyboard_check (vk_right)
keyJump = keyboard_check_pressed (vk_up)
keySword = keyboard_check_pressed (ord("X"))
//Cambios de movimiento
move = keyLeft + keyRight; //Establece una diferencia entre la orientacion y reposo
hsp = move * movespeed; //Suma en positivo o negativo si se mueve a la izquierda o derecha
grounded = place_meeting (x, y + 1, objBlock); //Variable "Parado en el Suelo"
if (move != 0) image_xscale = move; //Arregla la horientacion del grafico segun su movimiento
x += hsp; //Formula del movimiento Horizontal
y += vsp; //Formula del movimiento Vertical
//Animacion de reposo
if (move == 0) and grounded
{
sprite_index = sprTaylorIdle;
image_speed = 0.2;
}
//Izquierda y Derecha
if (-keyLeft || keyRight) and grounded
{
hsp = move * movespeed;
sprite_index = sprTaylorWalk;
image_speed = 0.5;
}
else
{
hsp = 0;
}
//Colision horizontal
if (place_meeting(x +(hsp), y, objBlock))
{
hsp = 0;
}
es una variable del código de shaun spalding la razón por la que no colisiona es porque el código de colisiones esta incompleto te dejo este enlace donde hay un código ya hecho para un juego de plataformas incluye wall jump y slopes.
revisa que te sale mal y ve como puedes armarte tu propio código de colisiones
http://www.comunidadgm.org/desarrollo-de-scripts/platformer-'engine'-source-code/
suerte :)