获取脚本中的动画师列表

Get List of Animators in Script

我在世界 space 中有一个 UI 菜单,相机在 canvases(代表菜单部分)周围飞行。

至于按钮,我为每个按钮制作了一些带有单独动画制作器的动画,因此我点击了 "Single Player",例如,这个 canvas 中的按钮应该被替换(使用动画) canvas 之外的其他按钮,反之亦然(当我点击 "Back" 时)。

我想在 UIGameObject 中使用 List UIAnimators 来保存场景中的所有脚本。问题是,当我将脚本设置为按钮 onClick 时,Unity 似乎无法接收列表。它根本不显示带有列表的方法。有没有办法绕过它。所以我可以在同一个脚本中触发多个控制器,因为我需要使用每个控制器替换 canvas 中的几个按钮。只是寻找一些提示,不需要编码,或者可能有一些参考或教程。我真的很感激一些帮助。

Menu layout, just to get a picture of the idea

提前致谢!

我不完全确定我在关注,但如果我理解正确,那么你想要一个不同 UI 元素的集合,并使用按钮中的 OnClick 事件来激活多个元素的相应动画立刻。

不确定这是否是最佳解决方案,但您可以在父游戏对象上创建一个数组,其中包含所有按钮及其动画师,然后使用 OnClick 事件调用播放动画的 public 函数对于相应的索引

public void MyFunction(int index)
{
  myUIElements[index].GetComponent<Animator>().Play();
}

然后只需添加对该函数的多次调用,并为您希望在单击该按钮时设置动画的所有元素添加索引,如下所示: