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;
}
}
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. |
Ajuda Num Bug
- Chuaschinai
- Colaborador
- Reações: 6
- Mensagens: 198
-
Re: Ajuda Num Bug
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.
Espero ter ajudado.
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;
}
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante