【问题标题】:unity how do I get a component from another script?unity 如何从另一个脚本获取组件?
【发布时间】:2023-02-14 23:13:27
【问题描述】:

我在一个对象上有一个动画组件,我必须在我的一个脚本中访问它。但我不知道该怎么做。当然,它可以通过 SerializeField 完成,但我不能那样做,因为我不能为我当前的预制件选择另一个预制件的动画师(因为它对它不可见)。因此,如果可能的话,仍然只能通过代码来做到这一点。动画师的访问修饰符已经配置(公共)。

【问题讨论】:

    标签: unity3d


    【解决方案1】:

    我假设您有一个带有动画组件的游戏对象 A,以及一个带有需要引用动画组件的自定义脚本的游戏对象 B。

    如果两者都在场景中,或者如果 A 是预制件: 选择 GameObject B,然后将 GameObject A 拖到自定义脚本的引用槽中。如果 A 是预制件,您可以调用 Instantiate(animatorOnA) ,它将返回对新实例化对象上的动画师的引用。

    如果两者都在同一个脚本中实例化,则可以在 A 的预制件的实例化副本上使用 GetComponent() 来获取对动画师的引用。然后,您可以使用此引用在 B 上分配 animatorOnA 字段。

    如果 A 是 B 的孩子,那么您可以直接在检查器中分配它,它会自动更新引用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 2014-08-30
      • 2021-10-10
      • 2022-10-18
      • 1970-01-01
      相关资源
      最近更新 更多