在带有条件的按钮单击上播放动画

时间:2018-09-10 06:07:25

标签: c# unity3d

我想做菜单动画。在动画师中,它包含2个动画。一种是打开动画,另一种是关闭动画。我将开始动画设置为默认状态,并在它们之间添加了条件。条件是布尔类型参数。我拖动了控制它们的行为和动画对象在游戏对象上的脚本,但是当开始播放动画并且玩家单击“播放”按钮时,该参数变为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 :(得分:0)

由于您的Animator,出现此问题。您应该在Canvas游戏对象上调用Animator(不在Menu Manager上)。只需将脚本更改为此:

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

希望对您有帮助。