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. |
Problema com a animação de correr Tópico resolvido
Problema com a animação de correr
Olá estou tendo um problema com a animação do meu personagem, tenho uma animação dele correndo quando seguro o shift, até ai tudo funciona a velocidade dele aumenta e a animação é troca para a dele correndo. Porem quando eu só seguro o shift a animação dele correndo é ativada ele fica parado, quando eu solto volta para animação dele parado. Por favor me ajudem. Aqui o código
Create
Speed=5
Step
var sima = keyboard_check(ord("W"))
var baixo = keyboard_check(ord("S"))
var esquerda = keyboard_check(ord("A"))
var direita = keyboard_check(ord("D"))
var parado = keyboard_check(vk_nokey)
//Andar
if (sima)
{
y-= Speed
sprite_index=andando
}
if (baixo)
{
y+=Speed
sprite_index=andando
}
if (esquerda)
{
x-=Speed
sprite_index=andando
image_xscale=-1
}
if (direita)
{
x+=Speed
sprite_index=andando
image_xscale=1
}
//Correr
if( keyboard_check(vk_lshift))
{
Speed = 10;
sprite_index=Correr
}
else
{
Speed = 5;
sprite_index=andando
}
if (parado)
{
sprite_index=Sprite1
}
Create
Speed=5
Step
var sima = keyboard_check(ord("W"))
var baixo = keyboard_check(ord("S"))
var esquerda = keyboard_check(ord("A"))
var direita = keyboard_check(ord("D"))
var parado = keyboard_check(vk_nokey)
//Andar
if (sima)
{
y-= Speed
sprite_index=andando
}
if (baixo)
{
y+=Speed
sprite_index=andando
}
if (esquerda)
{
x-=Speed
sprite_index=andando
image_xscale=-1
}
if (direita)
{
x+=Speed
sprite_index=andando
image_xscale=1
}
//Correr
if( keyboard_check(vk_lshift))
{
Speed = 10;
sprite_index=Correr
}
else
{
Speed = 5;
sprite_index=andando
}
if (parado)
{
sprite_index=Sprite1
}
- ValdeciVieira
- Moderador
- Reações: 8
- Mensagens: 122
- Localização: Rio de Janeiro, Brasil
Re: Problema com a animação de correr
É simples, você está usando sprite_index para definir a sprite "Correndo" apenas por pressionar shift, você precisa verificar se está se movimentando antes de definir a sprite.
Re: Problema com a animação de correr
Oi cara eu estava tentando fazer isso porém eu não estou conseguindo . Você pode me dá uma ideia?
- ValdeciVieira
- Moderador
- Reações: 8
- Mensagens: 122
- Localização: Rio de Janeiro, Brasil
Re: Problema com a animação de correr Tópico resolvido
Eu faria uma state machine, mas realmente não consigo pensar em muitas maneiras de resolver o problema com esse código, talvez assim...
Código: Selecionar todos
var cima = keyboard_check(ord("W"));
var baixo = keyboard_check(ord("S"));
var esquerda = keyboard_check(ord("A"));
var direita = keyboard_check(ord("D"));
var parado = (!cima and !baixo and !esquerda and !direita);
//Mover-se
if !parado {
if (cima) {
y-= Speed;
}
if (baixo) {
y+=Speed;
}
if (esquerda) {
x-=Speed;
image_xscale=-1;
}
if (direita) {
x+=Speed;
image_xscale=1;
}
if !keyboard_check(vk_lshift) {
Speed = 5;
sprite_index=andando;
} else {
Speed = 10;
sprite_index=Correr;
}
} else {
sprite_index=Sprite1;
}
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante