void Update() { float h = Input.GetAxis("Horizontal"); if (h == 0) { if (Input.GetKey(KeyCode.UpArrow) || Input.GetKey(KeyCode.X)) { descanso = Time.time + tempoParaDescanso; } if (Posicao == PosicaoPersonagem.Descanso && Input.GetKey(KeyCode.UpArrow)) { Posicao = PosicaoPersonagem.AcimaEsquerda; } if (Posicao == PosicaoPersonagem.Descanso && Input.GetKey(KeyCode.X)) { Posicao = PosicaoPersonagem.ParadoEsquerda; } if (Posicao == PosicaoPersonagem.DiagonalDireita) { Posicao = PosicaoPersonagem.ParadoDireita; } if (Posicao == PosicaoPersonagem.CorrendoDireita) { Posicao = PosicaoPersonagem.ParadoDireita; } if (Posicao == PosicaoPersonagem.ParadoDireita && Input.GetKey(KeyCode.UpArrow)) { Posicao = PosicaoPersonagem.AcimaDireita; } if (Posicao == PosicaoPersonagem.AcimaDireita && !Input.GetKey(KeyCode.UpArrow)) { Posicao = PosicaoPersonagem.ParadoDireita; } if (Posicao == PosicaoPersonagem.DiagonalEsquerda) { Posicao = PosicaoPersonagem.ParadoEsquerda; } if (Posicao == PosicaoPersonagem.CorrendoEsquerda) { Posicao = PosicaoPersonagem.ParadoEsquerda; } if (Posicao == PosicaoPersonagem.ParadoEsquerda && Input.GetKey(KeyCode.UpArrow)) { Posicao = PosicaoPersonagem.AcimaEsquerda; } if (Posicao == PosicaoPersonagem.AcimaEsquerda && !Input.GetKey(KeyCode.UpArrow)) { Posicao = PosicaoPersonagem.ParadoEsquerda; } switch (Posicao) { case PosicaoPersonagem.ParadoEsquerda: anim.SetTrigger("PararEsquerda"); break; case PosicaoPersonagem.AcimaEsquerda: anim.SetTrigger("PararAcimaEsquerda"); break; case PosicaoPersonagem.AcimaDireita: anim.SetTrigger("PararAcimaDireita"); break; case PosicaoPersonagem.ParadoDireita: anim.SetTrigger("PararDireita"); break; default: anim.SetTrigger("PararFrente"); break; } } if (h > 0) { descanso = Time.time + tempoParaDescanso; if (Input.GetKey(KeyCode.UpArrow)) { Posicao = PosicaoPersonagem.DiagonalDireita; anim.SetTrigger("CorrerDiagonalDireita"); } else { Posicao = PosicaoPersonagem.CorrendoDireita; anim.SetTrigger("CorrerDireita"); } } if (h < 0) { descanso = Time.time + tempoParaDescanso; if (Input.GetKey(KeyCode.UpArrow)) { Posicao = PosicaoPersonagem.DiagonalEsquerda; anim.SetTrigger("CorrerDiagonalEsquerda"); } else { Posicao = PosicaoPersonagem.CorrendoEsquerda; anim.SetTrigger("CorrerEsquerda"); } } if (Time.time > descanso) { Posicao = PosicaoPersonagem.Descanso; } }
void Awake() { anim = GetComponent <Animator> (); Posicao = PosicaoPersonagem.Descanso; }