PLAYER TRAVA NO BLOCO QUANDO COLIDE COM O BLOCO/PLAYER ATRAVESSA BLOCO QUANDO PULA
Enviado: Sáb Set 10, 2022 3:00 pm
Olá estou com um problema no meu jogo que quando o personagem termina de pular e colide com o chão ele entra dentro do bloco e trava, e quando aperto para pular novamente ele pula e desgruda do chão (isso acontece de vez em quando).
E outra coisa que acontece também e que quando to em cima de um bloco e aperto o botão de pulo ele atravessa o bloco (quando isso acontece ele trava no bloco e só sai se eu ficar apertando o pulo) aqui esta o codigo:
direita= keyboard_check(ord("D"));
esquerda= keyboard_check(ord("A"));
hveloc= (direita - esquerda) * veloc;
if (!place_meeting(x, y + 1,obj_wall))
{
vveloc= vveloc + grav;
}
else
{
vveloc= 0;
if (keyboard_check_pressed(vk_space))
{
vveloc= -5;
}
}
y += vveloc;
if place_meeting(x + hveloc, y,obj_wall){
while !place_meeting(x + sign(hveloc), y,obj_wall){
x += sign(hveloc);
}
hveloc= 0;
}
x += hveloc;
if place_meeting(x, y + vveloc,obj_wall){
while !place_meeting(x, y + sign(vveloc),obj_wall){
y += sign(vveloc);
}
vveloc= 0;
}
y += vveloc;
OBS: o personagem esta com a colissao no botton centre e o bloco no tap left
E outra coisa que acontece também e que quando to em cima de um bloco e aperto o botão de pulo ele atravessa o bloco (quando isso acontece ele trava no bloco e só sai se eu ficar apertando o pulo) aqui esta o codigo:
direita= keyboard_check(ord("D"));
esquerda= keyboard_check(ord("A"));
hveloc= (direita - esquerda) * veloc;
if (!place_meeting(x, y + 1,obj_wall))
{
vveloc= vveloc + grav;
}
else
{
vveloc= 0;
if (keyboard_check_pressed(vk_space))
{
vveloc= -5;
}
}
y += vveloc;
if place_meeting(x + hveloc, y,obj_wall){
while !place_meeting(x + sign(hveloc), y,obj_wall){
x += sign(hveloc);
}
hveloc= 0;
}
x += hveloc;
if place_meeting(x, y + vveloc,obj_wall){
while !place_meeting(x, y + sign(vveloc),obj_wall){
y += sign(vveloc);
}
vveloc= 0;
}
y += vveloc;
OBS: o personagem esta com a colissao no botton centre e o bloco no tap left