Анимация останавливается при нажатии 2 кнопок - PullRequest
0 голосов
/ 20 мая 2019

Я делаю анимацию ходьбы на своем персонаже. Но всякий раз, когда я нажимаю на кнопки, такие как «UpArrow» и «LeftArrow» одновременно, он работает в течение этого времени, а затем запутывает ВСЕ анимации. Даже простые команды, такие как «UpArrow», не работают. Анимация просто зависает. Я пытался сказать, что если «UpArrow» и «LeftArrow» не работают в одном и том же состоянии, чтобы воспроизвести анимацию «strafeleft», но это не работает. Вот мой сценарий

 void Start()
 {
     anim = GetComponent<Animator>();
 }
 // Update is called once per frame
 void Update()
 {   // Move 
     // Move Right, Left
     float Axis = Input.GetAxis("Horizontal") * speed;
     //Move Front, Baek
     float translation = Input.GetAxis("Vertical") * speed;
     translation *= Time.deltaTime;
     Axis *= Time.deltaTime;
     transform.Translate(Axis, 0, 0);
     transform.Translate(0, 0, translation);
     // animate go front 
     if (Input.GetKeyDown(KeyCode.UpArrow))
     {
         anim.SetTrigger("Towalking");
     }
     // animate iShtop
     if (Input.GetKeyUp(KeyCode.UpArrow) || Input.GetKeyUp(KeyCode.LeftArrow) || Input.GetKeyUp(KeyCode.RightArrow) || Input.GetKeyUp(KeyCode.DownArrow) )
     {
         anim.SetTrigger("Tostop");
     }
     //  animate go left
     if (Input.GetKeyDown(KeyCode.LeftArrow))
     {
         anim.SetTrigger("Tostrafeleft");
     }
     
     // animate go right
     if (Input.GetKeyDown(KeyCode.RightArrow))
     {
         anim.SetTrigger("Tostraferight");
     }
     
     // animate go baek
     if (Input.GetKeyDown(KeyCode.DownArrow))
     {
         anim.SetTrigger("Towalkback");
     }
     
     // animate go front,left
     if(Input.GetKeyDown(KeyCode.UpArrow) && Input.GetKeyDown(KeyCode.LeftArrow))
     {
         anim.SetTrigger("Tostrafeleft");
     }  
 }
...