Página 1 de 1

Ajuda Num Bug

Enviado: Sex Jan 31, 2020 3:44 pm
por PauloBittencourt
Eu criei a colisão e os movimentos do personagem, quando tava no placeholder funcionava, mas depois que coloquei o sprite e fiz o código pra mudar os sprites ta dando erro ao andar pra esquerda ou pra direita, o erro é que o personagem fica flicando pro lado oposto a o botão e não anda, aqui esta o código:
if (!place_meeting(x,y+1,obj_wall))
{
sprite_index = spr_player_JumpRuning;
if (sign(vspd) > 0.5){ sprite_index = spr_player_JumpFall;} else{ sprite_index = spr_player_JumpRuning;}
}
else
{
if (hspd != 0)
{
sprite_index = spr_player_walking;
}
}

if hspd = 0{
if place_meeting(x,y+1,obj_wall) {
sprite_index = spr_player_idle;
}
}

if hspd != 0 {
if place_meeting(x,y+1,obj_wall)
{
sprite_index = spr_player_walking;
}
}

Re: Ajuda Num Bug

Enviado: Dom Fev 02, 2020 1:09 am
por Chuaschinai
Provavelmente o problema do player ficar travado é que deva ser a mascara de colisão dela, tente deixar todas a sprites, incluindo as de pulo com a mesma mascara colisão(o mesmo tamanho).

O código esta meio ilegível tente deixar mais conciso.
Tipo assim, você utiliza as variáveis que você já possui para fazer as checagens, e tenta utilizar o menos possível de IFs encadeados.
Não testei mais deve funcionar corretamente se você fez os update no vspd e hspd.

Código: Selecionar todos

if(vspd > 0.5) sprite_index = spr_player_JumpFall;
else sprite_index = spr_player_JumpRuning;

if(vspd == 0){ // Esta no chao
 if(hspd != 0) sprite_index = spr_player_walking;
 else sprite_index = spr_player_idle;
}
Espero ter ajudado.