Задать вопрос
Dark_Knight
@Dark_Knight
Game Dev

Что не так с кодом?

Здравствуйте, подскажите пожалуйста.
Только начал учить юнити, делаю анимацию для 2д игры. При нажатии на shift , анимация персонажа с ходьбы должна меняться на бег. Но, когда я отпускаю кнопку shift, анимация бега не прекращается, он все равно бежит, хотя должна включаться анимация ходьбы.
if (Input.GetKeyDown(KeyCode.LeftShift) && move != 0.0f) {	
    playerAnimator.SetBool("Run", true);
} else if (Input.GetKeyUp(KeyCode.LeftShift)) {		
    playerAnimator.SetBool("Run", false);		
}

подскажите, как поправить код.
Спасибо за помощь.
  • Вопрос задан
  • 2413 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Решения вопроса 1
AloneCoder
@AloneCoder
[object Object]
Ну интуитивно у вас просто не попадает событие поднятия клавиши
if (Input.GetKeyDown(KeyCode.LeftShift) && move != 0.0f) {	
    playerAnimator.SetBool("Run", true);
} 
if (Input.GetKeyUp(KeyCode.LeftShift)) {		
    playerAnimator.SetBool("Run", false);		
}

вот так по идее должно сработать
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы