Воспроизведение анимации по нажатию кнопки с условием - PullRequest
0 голосов
/ 10 сентября 2018

Я хочу сделать анимацию меню. В аниматоре содержится 2 анимации. Один открывает анимацию, другой закрывает анимацию. Я установил анимацию открытия как состояние по умолчанию и добавил условие между ними. Условие является параметром типа bool. Я перетаскиваю сценарий, который управляет их поведением и компонентом аниматора, на игровом объекте, но когда воспроизводится анимация открытия и игрок нажимает кнопку воспроизведения, параметр превращается в true, но он не воспроизводится.

 Animator canvasAnim;

 public Button lvlSelector;
 Button lvlSelector_A;

 // Use this for initialization
 void Start () {
     canvasAnim = GetComponent<Animator>();

     lvlSelector_A = lvlSelector.GetComponent<Button>();
     lvlSelector_A.onClick.AddListener(LevelSelector);

 }
 IEnumerator SlideLevelSelectMenu()
 {

     yield return new WaitForSeconds(1f);
     SceneManager.LoadScene("LevelSelectMenu");
 }

 void LevelSelector()
 {
     canvasAnim.SetBool("clickedclose", true);
     StartCoroutine(SlideLevelSelectMenu());
 }

аниматор: animator

геймобжекты: gameobject that keeps script

1 Ответ

0 голосов
/ 10 сентября 2018

Эта проблема возникает из-за вашего Animator. Вы должны вызывать Animator на Canvas игровом объекте (не на Menu Manager). Просто измените ваш скрипт на это:

void Start () {
 canvasAnim = GameObject.Find("Canvas").GetComponent<Animator>();
 ...
}

Надеюсь, это поможет вам.

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