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
//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!!
Obrigado por visitar a The Game Makers Brasil Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais. |
Bug na colisão
Re: Bug na colisão
Na região ali da movimentação você colocou vspd =+ grv;, o correto seria vspd += grv;.
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes