Página 1 de 1

Bug na colisão

Enviado: Sáb Jul 27, 2024 4:36 pm
por miguel07
Estou começando a criar e jogos e estava tentando fazer a movimentação do personagem porém a colisão está bugada não sei porque, já que estava funcionando antes mas agora está assim
gm_d.PNG
gm_d.PNG (1.68 KiB) Exibido 128 vezes
//Player
#region Controles
Key_right = keyboard_check(ord("D"))
Key_left= keyboard_check(ord("A"))
Key_jump = keyboard_check(ord("W"))
#endregion

#region Movimentação
var movement = Key_right - Key_left

hspd = movement * spd;

vspd =+ grv;

///troca de sprite
if (hspd = 0) {
sprite_index = Spr_Character_idle
}
else {
sprite_index = Spr_Character_Walking
}
if (hspd != 0) image_xscale = sign(hspd)


//Colisão Horizontal
if place_meeting(x+hspd,y,Obj_colision){
while(!place_meeting(x+sign(hspd),y, Obj_colision)){
x += sign(hspd);
}
hspd = 0;
}
x+= hspd;

//Colisão Vertical
if place_meeting(x,y+vspd,Obj_colision){
while(!place_meeting(x,y+sign(vspd), Obj_colision)){
y += sign(vspd);
}
vspd = 0;
}
y+= vspd;

if place_meeting(x,y+1,Obj_colision) and Key_jump{
vspd -= 8;
}

#endregion


Se alguem puder ajudar agradeço!!

Re: Bug na colisão

Enviado: Seg Ago 05, 2024 4:35 pm
por All-x
Na região ali da movimentação você colocou vspd =+ grv;, o correto seria vspd += grv;.