Почему animSetInteger не работает должным образом? - PullRequest
1 голос
/ 17 марта 2019

Я работаю над мобильной трехмерной игрой, я поделился изображением из скрипта движения моего персонажа, если вы посмотрите на него, вы увидите, что есть «anim.SetInteger» для каждого входа, но «условие»не меняется на «1» для каждого направления.Если вы, ребята, знаете, что мне нужно сделать, пожалуйста, дайте мне знать.

MovementScript MovementScript2 (часть "Else")

1 Ответ

1 голос
/ 17 марта 2019

Ваше заявление else относится только к вашему окончательному заявлению if. Вероятно, происходит то, что одно из ваших первых шести if утверждений является истинным, и тогда ваш Condition параметр анимации устанавливается равным 1. Но , так как ваш последний оператор if, если ложно, else Блок также выполняется, поэтому Condition возвращается в ноль в течение той же итерации игрового цикла.

Измените все свои средние if утверждения на else if. Должно быть так:

if (/* condition 1 */)
{
   anim.SetInteger("Condition", 1);
   // transform = ...
}
else if (/* condition 2 */)
{
   anim.SetInteger("Condition", 1);
   // transform = ...
}
else if (/* condition 3 */)
{
   anim.SetInteger("Condition", 1);
   // transform = ...
}
else
{
   anim.SetInteger("Condition", 0);
   horizontal = 0;
   vertical = 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...