Сбросить до состояния по умолчанию после анимации - PullRequest
0 голосов
/ 09 февраля 2019

Итак, вот что я сделал после анимации, она должна автоматически вернуться в состояние по умолчанию :)) Извините, новичок в анимации, хе-хе, вот мой код

public GameObject bookLayout;
public GameObject panel;

public void openBook()
{
    if (bookLayout != null)
    {
        Animator animator = bookLayout.GetComponent<Animator>();
        if (animator != null)
        {
            bool isOpen = animator.GetBool("open");
            animator.SetBool("open", !isOpen);
        }
    }
}

Проблема в том, что он возвращается только ксостояние по умолчанию после того, как я щелкну по нему ^ _ ^

1 Ответ

0 голосов
/ 10 февраля 2019

То, что вы описываете, называется «событием анимации», и его на самом деле не так сложно реализовать.

Во-первых, если к вашему объекту bookLayout еще не присоединен скрипт MonoBehavior, добавьте его.к этому.Затем добавьте функцию public внутри этого скрипта, единственная обязанность которой состоит в том, чтобы вернуть состояние по умолчанию.Давайте назовем эту функцию SetStateDefault.Затем убедитесь, что bookLayout выбран в иерархии и перейдите в Windows -> Анимация -> и откройте вкладку Анимация.

Разверните спрайты, которые составляют вашу анимацию, чтобы вы могли видеть их на временной шкале.enter image description here

Нажмите на кнопку, которая приведет вас к концу анимации enter image description here

В этом примере конецанимации в кадре 4. Теперь нажмите кнопку «Добавить событие»

enter image description here

Затем в Инспекторе перейдите к выпадающему меню «Функция»в меню и выберите ту публичную функцию, которую мы создали ранее, которая называется SetStateDefault

enter image description here

Предполагая, что ваша функция SetStateDefault выполняет то, что должна, так и должно быть.Пожалуйста, дайте мне знать, если вы что-то не поняли.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...