Список Анимаций Unity

95
03 сентября 2019, 13:00

Доброго времени суток!

Имеется список Анимаций:

При использовании данного кода прокручивается только первая в списке:

Как я могу сослаться к "MenuHide" (он же Element1)?

При использовании данной записи выдает ошибку:

Answer 1

Похоже придется делать цикл:

public void PlayAnimation(string animationName) {    
     foreach(AnimationState state in First) {
        if (state.name == animationName) {
            First.Play(state.name);      
            break;
        }
     }
 }
 PlayAnimation("MenuHide");

Я бы рекомендовал занести список анимаций в словарь (Например один раз в OnStart()). Где ключ - имя анимации, значение - сама анимация. Тогда включить анимацию будет просто:

animationDictionary["MenuHide"].Play();

Чтобы каждый раз не проигрывать цикл.

Answer 2

Добавляешь компонент Animator к объекту, открываешь Аниматор (он на Windows-Amination-Animator), на Аниматоре нажимаешь на Parametres, кликаешь по "+", выбираешь Int и называешь как хочешь(ниже я назвал MyAnim). От AnyStates(или как тебе надо) проводишь стрелки к анимациям. Кликаешь по стрелкам и для каждой в Conditions ставишь от 0 до определенного числа, сколько есть стрелок. Обязательно поменяй на Equals в Conditions, и желательно убрать Has Exit Time.

Animator anim;
public GameObject MyObj; //объект с анимациями
void Start()
    {
        anim = myObj.GetComponent<Animator>();
    }
if (Условие1)
            {
                anim.SetInteger("MyAnim", 0); //там где ставил 0, та анимация будет проигрываться
            }
else if(Условие2)
            {
                anim.SetInteger("MyAnim", 1); //и т.д.
            }
else if(Условие3)
            {
                anim.SetInteger("MyAnim", 2);
            }

Конечно не идеально, лучше уроки посмотри, я примерно написал.

READ ALSO
Как сделать игру на c# wpf?

Как сделать игру на c# wpf?

Я делаю некое подобие игры на wpf, и мне интересно как можно сделать, чтоб другие программы определяли моё приложение как игру? Чтоб, например,...

116
C# WPF изменить MouseButtonState

C# WPF изменить MouseButtonState

Как мне убрать MouseButtonStatePressed с кнопки мышки програмно? Т

104
Вывод информации из бд по инициалам средствами linq [закрыт]

Вывод информации из бд по инициалам средствами linq [закрыт]

Есть окно с 26 кнопкамиКаждая кнопка - одна буква английского алфавита(A-Z)

105