Trevor Belmont
Novato
Novato
Autor
Mensagens: 10
Registrado em: Sáb Dez 26, 2020 1:30 am
Karma: 41

personagem fica trocando entre pulando e parado quando cai no chão gms2  Tópico resolvido

Qua Jan 06, 2021 2:27 pm

apos colocar o codigo pro personagem entrar no estado de queda automaticamente , quando ele bate no chao fica trocando entre os estados de pulo e parado rapidamente, ou caso mecha na sprite, ele entra no chão, alguem sabe como corrigir?


case "pulando":
{
//Estou caindo
if (velv > 0)
{
sprite_index = spr_player_fall01;
}
else
{
sprite_index = spr_player_pulo;
//Garantindo que a animaçao não se repita
if (image_index >= image_number-1)
{
image_index = image_number-1
}
}
//Condição de troca de estado
if (chao)
{
estado = "parado";
velh = 0;
}
else if (bladedarsh)
{
estado = "bdarsh";
image_index = 0;
}
else if (hkick)
{
estado = "hkick";
image_index = 0;
velv = 0;
}

break;
}

case "parado":
{
//Comportamento do estado
sprite_index = spr_player1_parado;
//Condição de troca de estado
//Movendo
if (rigth || left)
{
estado = "movendo";
}
else if (jump || velv !=0)
{
estado = "pulando";
velv = (-max_velv * jump);
image_index = 0;
}
else if (attack)
{
estado = "ataque";
velh = 0;
image_index = 0;
}
else if (bladedarsh)
{
estado = "bdarsh";
image_index = 0;
}
else if (hkick)
{
estado = "hkick";
image_index = 0;
}
else if (uppercut)
{
estado = "uppercut";
image_index = 0;
}
break;
}

case "movendo":
{
//Comportamento do estado de movimento
sprite_index = spr_player_walk;
//Condição de troca de estado
//parado
if (abs(velh) < .1)
{
estado = "parado";
velh = 0;
}

else if (jump)
{
estado = "pulando";
velv = -max_velv;
image_index = 0;
}
else if (attack)
{
estado = "ataque";
velh = 0;
image_index = 0;
}
else if (bladedarsh)
{
estado = "bdarsh";
image_index = 0;
}
else if (hkick)
{
estado = "hkick";
image_index = 0;
}

break;
}
Editado pela última vez por Trevor Belmont em Seg Jan 11, 2021 5:30 am, em um total de 1 vez.
1
 
Chuaschinai
Colaborador
Colaborador
Mensagens: 148
Registrado em: Dom Fev 14, 2016 9:19 pm
Karma: 908

Re: personagem fica trocando entre pulando e parado quando cai no chão gms2

Qua Jan 06, 2021 4:47 pm

Tente postar o código inteiro para termos uma ideia melhor.
 
Trevor Belmont
Novato
Novato
Autor
Mensagens: 10
Registrado em: Sáb Dez 26, 2020 1:30 am
Karma: 41

Re: personagem fica trocando entre pulando e parado quando cai no chão gms2

Seg Jan 11, 2021 5:31 am

grononmc escreveu:
Tente postar o código inteiro para termos uma ideia melhor.

atualizado
 
Chuaschinai
Colaborador
Colaborador
Mensagens: 148
Registrado em: Dom Fev 14, 2016 9:19 pm
Karma: 908

Re: personagem fica trocando entre pulando e parado quando cai no chão gms2

Seg Jan 11, 2021 9:32 am

Não sei se pode ser isso, mas quando ele encontra o chão, você define a variável velh como 0 e não o velv, pelo que consegui compreender o velh é velocidade horizontal e velv é vertical, não é?.
1
 
Trevor Belmont
Novato
Novato
Autor
Mensagens: 10
Registrado em: Sáb Dez 26, 2020 1:30 am
Karma: 41

Re: Re: personagem fica trocando entre pulando e parado quando cai no chão gms2

Seg Jan 11, 2021 5:46 pm

sim, tentetei alterar isso mas n vi mudanças
 
Chuaschinai
Colaborador
Colaborador
Mensagens: 148
Registrado em: Dom Fev 14, 2016 9:19 pm
Karma: 908

Re: personagem fica trocando entre pulando e parado quando cai no chão gms2

Seg Jan 11, 2021 9:49 pm

O que tem na variável chão?
Seria um place_meeting ou algo do tipo?

Tem algumas partes de código que fica meio complicado entender, sem um apanhado geral das variáveis.