Página 1 de 1
Ajuda com animação do personagem
Enviado: Qua Ago 21, 2019 7:02 pm
por DarlesLSF
Boa noite pra todos, seguinte: quando eu aperto as teclas de movimentação, não rola animação da sprite (primeira parte do video). Agora se eu aperto e seguro as teclas de movimentação, a animação flui normalmente. Como faço pra arrumar isso?
Re: Ajuda com animação do personagem
Enviado: Qua Ago 21, 2019 7:07 pm
por None
Baseia a animação na velocidade e não no pressionar de teclas.
Re: Ajuda com animação do personagem
Enviado: Qua Ago 21, 2019 7:37 pm
por DarlesLSF
No caso, esse é meu código:
Código: Selecionar todos
script_execute(teclas);
xaxis = (direita - esquerda);
yaxis = (baixo - cima);
// direção
var dir = point_direction(0,0, xaxis, yaxis);
if (xaxis == 0) && (yaxis == 0)
{
len = 0;
} else
{
len = vel;
}
hspd = lengthdir_x(len, dir);
vspd = lengthdir_y(len, dir);
image_speed = sign(len) * .1;
if (len == 0)
{
image_index = 1;
}
if (vspd > 0)
{
sprite_index = spr_sarhabaixo;
} else if (vspd < 0)
{
sprite_index = spr_sarhacima;
}
if (hspd > 0)
{
sprite_index = spr_sarhadireita;
} else if (hspd < 0)
{
sprite_index = spr_sarhaesquerda;
}
Mesmo me baseando na velocidade, se eu apertar e soltar a tecla rapidamente, ainda assim fica igual o começo do gif acima.
Re: Ajuda com animação do personagem
Enviado: Qua Ago 21, 2019 7:57 pm
por None
Seu código tá certo.
O que acontece é que tu falou que se a velocidade for 0 então a imagem é estática só isso, e ao tocar e soltar rápido você zera a velocidade.
Re: Ajuda com animação do personagem
Enviado: Qua Ago 21, 2019 8:04 pm
por DarlesLSF
None escreveu:Seu código tá certo.
O que acontece é que tu falou que se a velocidade for 0 então a imagem é estática só isso, e ao tocar e soltar rápido você zera a velocidade.
E tem como fazer a animação rolar mesmo apertando e soltando rápido as teclas?
Re: Ajuda com animação do personagem
Enviado: Qua Ago 21, 2019 8:07 pm
por None
Tu pode fazer o que você quiser ué, é só conseguir pensar na lógica.
O que me vem agora na mente é usar uma função de aceleração e desaceleração, assim ao soltar a tecla ele não para na hora e a velocidade se mantém mais um pouco
Mas eu te aconselho a usar uma state machine, fica muito mais fácil de trabalhar.
Aliás, não sei se tu tem interesse, mas te aconselho a dar uma olhada no meu curso, lá tem MUITO conteúdo e acho que ele poderia te ajudar.