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 animaçao em plataformas

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
186557
Programador
Programador
Reações: 0
Mensagens: 28

Bug na animaçao em plataformas

Mensagem por 186557 » Ter Mar 12, 2019 11:32 pm

Eu fiz uma plataforma simples em que o player poderia pular por baixo dela para subir, mas quando eu coloco como parente o "obj_wall" para que a animação do player funcione quando ele estiver na plataforma, ela fica solida, mas se eu nao colocar parente a plataforma funciona mas o personagem não tem animação ao subir nela.
Como eu posso arrumar isso? O unico codigo que estou usando nessa plataforma é esse:

Código: Selecionar todos

if obj_player.bbox_bottom > bbox_top {
solid=false
}
else
solid=true

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: Bug na animaçao em plataformas

Mensagem por None » Qua Mar 13, 2019 10:33 am

O problema pode estar em algum outro evento herdado do wall.

Você sempre pode desenhar a plataforma pelo draw e naquela condição ao invés de mudar o solid você tira a sprite Index dela (mudar o mask às vezes buga, então eu prefiro tirar toda a sprite mesmo)
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
186557
Programador
Programador
Reações: 0
Mensagens: 28

Re: Bug na animaçao em plataformas

Mensagem por 186557 » Sex Mar 15, 2019 2:24 pm

Eu resolvi usar um codigo totalmente diferente e funcionou, nesse caso:
No create:

Código: Selecionar todos

sprite_index = -1;
No step: (key_down checa se a seta para baixo foi pressionada)

Código: Selecionar todos

if (instance_exists(obj_player)){
     if (round(obj_player.y + (obj_player.sprite_height/2)) > y) || (obj_player.key_down) mask_index = -1 
     else mask_index = sprite177; 
}
E no Draw;

Código: Selecionar todos

draw_sprite(spr_plat_solida,0,x,y)
mas quando o player atira ele caí da plataforma, eu tentei resolver isso usando

Código: Selecionar todos

if obj_player.bbox_bottom > bbox_top && obj_player.atirando>0 {
mask_index = sprite177;
}
mas quando o player esta "dentro" da plataforma e atira ele fica preso, já testei alguns codigos mas não estou conseguindo. Como eu posso checar se o player esta no meio da plataforma ou em cima da plataforma e atirando?

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 8 visitantes