代码之家  ›  专栏  ›  技术社区  ›  derHugo

如何在Unity3D的按钮中引用同一类型的多个组件?

  •  1
  • derHugo  · 技术社区  · 7 年前

    我有一个组件类 SetTrigger : MonoBehaviour . 把代码贴在这里太长了,而且无关紧要。在其中,我可以选择一个字符串值 _targetTrigger 从引用的所有触发器参数中 Animator

    比我有个按钮 GameObject 有很多这样的 SetTrigger 动画师 s。

    假设我有两个 组件引用 动画师 在我的按钮对象(它也有 Button 组件)。

    • _目标装配工 StartButton
    • 在我设置的另一个上 _目标装配工 Initialize .

    比我把两者都加进去 onClick 按钮 Set _目标装配工 引用的上的名称 使用 animator.SetTrigger(_targetTrigger) ).

    所以我希望这两个触发点, 开始按钮 设置(以前我设置两个触发器时都是用“通常的”方式设置的,只直接使用 Animator.SetTrigger(string) ).

    问题

    按钮 SetTrigger.Set() 方法只使用值调用 开始按钮

    这让我觉得很明显 按钮 组件只使用 两个条目的游戏对象 (可能是内部使用了 GetComponent 为了这个)。

    (如何)我可以使用同一类型但具有不同值的多个组件 onClick公司 一个 按钮


    编辑
    我注意到它当然只能得到一个组件,因为已经在 onClick公司 按钮上只有一个条目 设置触发器

    目前我的替代解决方案/解决方案是

    • 每个想要的触发器都有一个子GameObject,每个只有一个 设置触发器 而是参考那些。(不太喜欢)

    • 设置触发器

      我更喜欢第二个,但现在我必须使用一个ReorderableList为它重新编写整个inspector脚本,这对于拥有多个触发器来说也非常沉重。。。

    0 回复  |  直到 7 年前