Buenas tengo un problema, a veces cuando salta y colisiona con el bloque negro queda como en la imagen que adjunto.

Este es mi codigo:

/// Movimiento

// Variables Locales de Movimiento

vkright = global.vkright;
vkleft = global.vkleft;
vkup = global.vkup;

// Movimiento Horizontal

x += h_velocidad;

// Movimiento Vertical

y += v_velocidad;

// Comprobar Suelo y Gravedad

if (place_meeting(x, y + 1, obj_padre_suelo_solido))
    {
    v_velocidad = 0;
    if (vkup)
        {
        v_velocidad = - salto;
        }
    }
    else
    {
    if (v_velocidad < 10)
        {
        v_velocidad += gravedad;
        }
    }

// Movimiento Derecho

if (vkright)
    {
    h_velocidad = velocidad;
    }

// Movimiento Izquierdo

if (vkleft)
    {
    h_velocidad = - velocidad;
    }

// Comprobar que no se Mueve

if ((!vkright and !vkleft) || (vkright and vkleft))
    {
    h_velocidad = 0;
    }

// Colision Horizontal

if (place_meeting(x + h_velocidad, y, obj_padre_suelo_solido))
    {
    while(!place_meeting(x + sign(h_velocidad), y, obj_padre_suelo_solido))
        {
        x += sign(h_velocidad);
        }
    h_velocidad = 0;
    }

// Colison Vertical

if (place_meeting(x, y + v_velocidad, obj_padre_suelo_solido)) {
    while (!place_meeting(x, y + sign(v_velocidad), obj_padre_suelo_solido))
        {
        y += sign(v_velocidad);
        }
    v_velocidad = 0;
}


Muchas Gracias

Nadie sabe sobre porq me puede pasar esto??
Gracias

A nadie le ha pasado esto?es q no entiendo porq pasa.

Pude probar el codigo que tenes(ojala lo hubieras puesto todo ???) y no tuve problemas, la colision ocurre bien, aunque en mi prueba no pude saltar ni moverme a los lados. Talves sea problema de la mascara.