布尔参数不会通过脚本更改,动画不会播放OnClick

时间:2019-05-12 15:03:15

标签: c# unity3d

我正在做一个android 2d平台游戏。在Animator中已完成所有设置。在applicaton start上,一切正常,但是当我单击按钮时,bool参数不会更改,因此我的动画不会向后播放。但是,当我在动画器中勾选bool参数时,动画将正确播放。没有控制台错误。这是我的剧本。

我正在使用这个tutorial,从那里我只需要第一部分(“开始游戏”动画部分)。我遵循了每一步。可能我缺少了一些东西。

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine.UI;
using UnityEngine;

public class UIManager : MonoBehaviour
{
    public Animator optionsButton;

    public void OpenSettings()
    {
        optionsButton.SetBool("isHidden", false);
    }
}

我的目标是在按下选项按钮并且想要通过脚本更改bool参数时向后播放动画。

1 个答案:

答案 0 :(得分:0)

问题是脚本试图更改画布子元素对象上的布尔值。而且没有笨蛋。因此,我更改了现有脚本来获取它。效果很好。

public class UIManager : MonoBehaviour
{

    public Animator optionsButton;
    public bool hide;

  private void Start()
   {
       //to find the parent element - canvas - which has a bool
       optionsButton = GameObject.Find("MainMenu").GetComponent<Animator>();
   }

    public void OpenSettings()
    {
        hide = true;
        optionsButton.SetBool("AnimOut", hide);

        Debug.Log("I'm finaly working!");
    }

}