2016-08-28 5 views
0

В Unity я пытаюсь дать скорость моему игроку во время прыжков, AKA продолжает идти вперед, если вы прыгаете в середине движения. Вот мой код до сих пор:C# Если иерархия выписок только в последовательности (Unity)

if (VerVelocity != 0 || HorVelocity != 0) { 
      if (Anim.GetCurrentAnimatorStateInfo(0).IsName("jump") || Anim.GetCurrentAnimatorStateInfo(0).IsName("fall")) { 
       transform.Translate(Vector3.forward * VerVelocity * JumpSpeedMultiplier * Time.deltaTime); 
       transform.Translate(Vector3.right * HorVelocity * JumpSpeedMultiplier * Time.deltaTime); 
      } 
    } 

HorVelocity и VerVelocity являются сверху вниз, то есть Hor для левого и правого и Ver для вперед и назад. Проблема, с которой я сталкиваюсь, - это события в любом порядке, то есть вы можете изменить направление в воздухе. Как я могу заставить его проверить, что вы бежали, прежде чем прыгать, а не после? Спасибо за любую помощь, которую вы можете предоставить!

ответ

0

Создайте 2 состояния, один для jump и один для runjump в аниматоре, затем введите этот код для runjump.