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.

como eu faço para, a animação do personagem iniciar so quando ele andar ? Tópico resolvido

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Pato_Programador;
Novato
Novato
Reações: 1
Mensagens: 4

como eu faço para, a animação do personagem iniciar so quando ele andar ?

Mensagem por Pato_Programador; » Dom Fev 04, 2024 5:28 pm

codigo usado para movimento
f(keyboard_check(vk_right)){
x+=4;
image_speed = 0.8
image_xscale = abs(image_xscale) * 1
sprite_index = S_Player

}else if(keyboard_check(vk_left)){
x-=4;
image_speed = 0.8
image_xscale = abs(image_xscale) * -1
sprite_index = S_Player
}

if(keyboard_check(vk_up)){
y-=4;
image_speed = 0.8
sprite_index = S_Pup


}else if(keyboard_check(vk_down)){
y+=4;
image_speed = 0.8
sprite_index = S_PDown
}

Avatar do usuário
ValdeciVieira
Moderador
Moderador
Reações: 8
Mensagens: 122
Localização: Rio de Janeiro, Brasil

Re: como eu faço para, a animação do personagem iniciar so quando ele andar ?  Tópico resolvido

Mensagem por ValdeciVieira » Dom Fev 04, 2024 5:39 pm

Defina image_speed para 0 no create e redifina novamente para 0 quando nenhuma tecla de movimentação estiver sendo pressionada, seu código utiliza else if, então dá pra colocar um último else que indique justamente isso, mas precisa colocar outro else entre o as teclas horizontais e verticais, sendo assim seu código ficaria:

Código: Selecionar todos

if(keyboard_check(vk_right)){
x+=4;
image_speed = 0.8
image_xscale = abs(image_xscale) * 1
sprite_index = S_Player
}
else if(keyboard_check(vk_left)){
x-=4;
image_speed = 0.8
image_xscale = abs(image_xscale) * -1
sprite_index = S_Player
}
else if(keyboard_check(vk_up)){
y-=4;
image_speed = 0.8
sprite_index = S_Pup
}
else if(keyboard_check(vk_down)){
y+=4;
image_speed = 0.8
sprite_index = S_PDown
}
else {
image_speed = 0
image_index = 0 //usado pra zerar o frame de animação do sprite
}
1 Imagem

Avatar do usuário
Pato_Programador;
Novato
Novato
Reações: 1
Mensagens: 4

deu certo, +ou- pq, colocando o else no ultimo "else if " ele funciona para cima e para baixo,

Mensagem por Pato_Programador; » Dom Fev 04, 2024 6:16 pm

deu certo, +ou- pq, colocando o else no ultimo "else if " ele funciona para cima e para baixo,mas quando coloco para horizontal ele so fica parado, parado na horizontal e na vertical

Avatar do usuário
ValdeciVieira
Moderador
Moderador
Reações: 8
Mensagens: 122
Localização: Rio de Janeiro, Brasil

Re: como eu faço para, a animação do personagem iniciar so quando ele andar ?

Mensagem por ValdeciVieira » Dom Fev 04, 2024 6:20 pm

Manda o código novamente.

Avatar do usuário
Pato_Programador;
Novato
Novato
Reações: 1
Mensagens: 4

Re: como eu faço para, a animação do personagem iniciar so quando ele andar ?

Mensagem por Pato_Programador; » Dom Fev 04, 2024 6:23 pm

if(keyboard_check(vk_right)){
x+=4;
image_speed = 0.8
image_xscale = abs(image_xscale) * 1
sprite_index = S_Player


}else if(keyboard_check(vk_left)){
x-=4;
image_speed = 0.8
image_xscale = abs(image_xscale) * -1
sprite_index = S_Player
}
else{
image_speed = 0
image_index = 0
}



if(keyboard_check(vk_up)){
y-=4;
image_speed = 0.8
sprite_index = S_Pup


}else if(keyboard_check(vk_down)){
y+=4;
image_speed = 0.8
sprite_index = S_PDown
}
else{
image_speed = 0
image_index = 0
}

Avatar do usuário
ValdeciVieira
Moderador
Moderador
Reações: 8
Mensagens: 122
Localização: Rio de Janeiro, Brasil

Re: como eu faço para, a animação do personagem iniciar so quando ele andar ?

Mensagem por ValdeciVieira » Dom Fev 04, 2024 6:32 pm

Como imaginei, as instruções que eu passei eram uma das formas de se chegar ao resultado esperado mas o código que eu mandei já estava com elas implementadas.

Desculpe se fui muito vago e acabei te confundindo :(

Avatar do usuário
Pato_Programador;
Novato
Novato
Reações: 1
Mensagens: 4

Re: como eu faço para, a animação do personagem iniciar so quando ele andar ?

Mensagem por Pato_Programador; » Dom Fev 04, 2024 6:36 pm

tranquilo

mas teria outro jeito de chegar no resultado ?
1 Imagem

Avatar do usuário
ValdeciVieira
Moderador
Moderador
Reações: 8
Mensagens: 122
Localização: Rio de Janeiro, Brasil

Re: como eu faço para, a animação do personagem iniciar so quando ele andar ?

Mensagem por ValdeciVieira » Dom Fev 04, 2024 6:45 pm

Pato_Programador; escreveu: Dom Fev 04, 2024 6:36 pm mas teria outro jeito de chegar no resultado ?
Sempre há inúmeras formas de se chegar a um resultado quando se trata de programação, dado o grande número de funções, é possível ter n códigos que façam exatamente a mesma coisa.
Ainda mais com a possibilidade de criar suas próprias funções.

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante