Problema com animaçao sprite!

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Problema com animaçao sprite!

Mensagem por gabriel33245900 em Sab 06 Set 2014, 11:33

É o seguinte criei 1 sprite que quando vai para direita ele faz sua animação de andando mais ai fiz pra esquerda e ele não para de fazer a animação fica andando parado quero que ele fassa a animaçao so andando! aqui as coordenadas
Create:
esquerda=true
direita=true
andando=false
chao=true
image_speed = 0.2;
Step:
   //Checar se esta andando e se está para a direita
   if keyboard_check(vk_right){//Se apertar para a dieita
   direita=true //Está para a direita
   andando=true //Está andando.
   }else if keyboard_check(vk_left){//Se nao apertar para a direita, mas apertar para a esquerda
   esquerda=true
   direita=false//Não está para a direita
   andando=true //Está a andando
   }else{//Se não estiver apertando nem para a direita e nem para a esquerda
   andando=false// Não está andando
   }
if keyboard_check(vk_left) {x-=5};
if keyboard_check(vk_right) {x+=5};

End step:
   if esquerda=true{
   if chao=true
   if andando=true
   sprite_index=esquerda1
   }else{
   sprite_index=esquerda_parado
   }
   if direita=true{ //Se estiver para a direita
       if chao=true{//Se estiver no chão
           if andando=true{//Se estiver andando
           sprite_index=Direita1
           
           }else{//Se não estiver andando
           sprite_index=Direita_Parado
           
           }

       }
   }
Eu copiei de um cara mais ele so fez para direita tentei fazer esquerda mais não ficou igual qual e o problema ele quando anda pra esquerda a animação não para de rodar so direita esta certo que ele para a animaçao quando paro de segurar o botão ajudem!

gabriel33245900

Número de Mensagens : 361
Idade : 16
Data de inscrição : 06/09/2014
Reputação : 54
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Problema com animaçao sprite!

Mensagem por AxeInLine em Sab 06 Set 2014, 11:51

Você apenas copiou o código com um "CTRL + C / CTRL +V"?
Caso sim, ai o erro já é uma parte sua, caso não, você apenas olhou e fez de seu jeito o código, então você não tem tanta culpa.
Primeiro, não entendi metade deste código '-' ele fez uma coisa gigantesca para quase nada...
O certo a fazer, seria mais ou menos isso:
No create, vamos criar uma variável que será o valor da velocidade:
Código:
vel = 0;
No step, vamos fazer para que a velocidade horizontal seja a mesma que a var "vel":
Código:
hspeed = vel;
Ainda no step, verificaremos se as teclas direito & esquerda foram pressionadas, se forem, aumentaremos em 5 o valor da variável "vel" e modificaremos a sprite atual:

Código:
if (keyboard_check(vk_right))//se a tecla para direita for pressionada:
{
vel = 5;
sprite_index = spr_player_andando;//sprite_index é variavel que guarda a sprite atual, moficamos ela para ser a do player andando;
image_xscale = 1;//essa var guarda o valor da escala do personagem, não sei como funciona, apenas sei como usa-la.
}
if (keyboard_check(vk_leftt))//se a tecla para esquerda for pressionada:
{
vel = -5;
sprite_index = spr_player_andando;
image_xscale = -1;//dessa vez, deixaremos a escala como negativa, o que mudara o lado do personagem.
}
Bem, já temos o movimento e a troca de sprites, agora vamos fazer o player ficar parado sem nenhuma animação:
Código:
if (keyboard_check_released(vk_left)) or (keyboard_check_released(vk_right))// se a tecla para direita ou para a esquerda forem soltas:
{
sprite_index = spr_player_parado;//muda a sprite atual para a do player parado;
vel = 0;
}
Bem, acho que é isso, espero ter ajudado.
Ps: Não copiei, escreva por si mesmo, e pro favor, leia os comentários para entende-lo.

AxeInLine

Número de Mensagens : 211
Idade : 14
Data de inscrição : 23/03/2014
Reputação : 40
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Problema com animaçao sprite!

Mensagem por WellingtonBecker em Sab 06 Set 2014, 11:58

Amigo, esse código tem muitos "IFs" sem necessidade, tente mudar no End Step:

Código:
if esquerda=true && chao=true && andando=true
  {
  sprite_index=esquerda1
  }
  else
  {
  sprite_index=esquerda_parado
  }

WellingtonBecker

Ranking : Nota D
Número de Mensagens : 820
Idade : 35
Data de inscrição : 09/05/2013
Notas recebidas : D
Reputação : 105
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Problema com animaçao sprite!

Mensagem por luix_337 em Sab 06 Set 2014, 12:02

Olá cara então esse código que tu usou com todo respeito tá uma bagunça lógica teste esses códigos aqui abaixo além de ser menor funciona bem.

no Create Event:

Código:

dir = 0; //essa var cuida da direção.

no Step Event:

Código:

dir = (keyboard_check(vk_right) - keyboard_check(vk_left))

switch(dir){
    case -1: image_xscale = -1; break;
    case 1: image_xscale = 1; break;
}

if(dir != 0){
    sprite_index = spr_andando;
}else{
    sprite_index = spr_parado;
}

if(place_free(x + dir * 4, y)){
    x += dir * 4
}

só isso a unica coisa que tu vai ter de fazer é criar duas sprites do player uma andando e uma parada todas as duas viradas pro lado direito. espero que ajude.

luix_337

Número de Mensagens : 55
Idade : 20
Data de inscrição : 10/12/2012
Reputação : 13
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 2

http://luizdev.tumblr.com

Voltar ao Topo Ir em baixo

Re: Problema com animaçao sprite!

Mensagem por gabriel33245900 em Sab 06 Set 2014, 12:03

Wellington valeu você me ajudou avaliador então né ajudou também... ok isso não foi o que eu queria avaliador mais pelo menos tentou ajudar o que o wellington escreveu era o que eu queria vlw ai Very Happy

gabriel33245900

Número de Mensagens : 361
Idade : 16
Data de inscrição : 06/09/2014
Reputação : 54
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Problema com animaçao sprite!

Mensagem por WellingtonBecker em Sab 06 Set 2014, 12:10

gabriel33245900 escreveu:Wellington valeu você me ajudou avaliador então né ajudou também... ok isso não foi o que eu queria avaliador mais pelo menos tentou ajudar o que o wellington escreveu era o que eu queria vlw ai Very Happy

De nada amigo, continue estudando para aprimorar seus conhecimentos, abraços.

WellingtonBecker

Ranking : Nota D
Número de Mensagens : 820
Idade : 35
Data de inscrição : 09/05/2013
Notas recebidas : D
Reputação : 105
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Problema com animaçao sprite!

Mensagem por Conteúdo patrocinado Hoje à(s) 02:02


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum