pessoal do fórum, novamente estou com problemas em Game Maker, nesse caso, o problema é colisão. É o seguinte: quando pulo com o personagem e ele colide com algo acima dele, el diretamente é teletransportado para o chão mais próximo (reto para baixo do bloco que está acima), aqui estão os scripts:
evento create: salto = false;
evento step:
direita = keyboard_check(vk_right);
esquerda = keyboard_check(vk_left);
pulo = keyboard_check_pressed(vk_up);
gravidade = place_free(x, y-1);
if(direita and esquerda){
hspeed = 0;
}else if(direita){
hspeed = 4;
}else if(esquerda){
hspeed = -4;
}else {
hspeed = 0;
}
if(gravidade){
gravity = 0.5;
}else{
gravity = 0;
}
if (pulo){
if (salto){
vspeed = -12;
salto = false;
}
}
evento colisão com obj_Wall(apenas um cubo sólido):
gravity = 0;
vspeed = 0;
salto = true;
move_contact_solid(270,0);
tudo isso está dentro do objeto personagem para quem quiser fazer o teste, eu já tentei de várias formas mas nenhuma deu certo então por isso estou pedindo ajuda a vocês, espero que tenha sido claro e quem puder me ajude.