使用脚本进行Unity预制会在子项中获得与其他脚本不同的组件

时间:2014-11-09 21:24:48

标签: unity3d missing-data unity-components

在Script Foo中,我实例化了有3个孩子的预制棒。从脚本Foo我更新了Bar 3的每个子节点上的脚本并设置它们的变量X.调试时我可以看到所有这些都正确发生。

脚本WTF附加到预制棒。从脚本Foo,我告诉脚本WTF访问附加到Bar的3个孩子的脚本,并获得似乎是3个新类,其中变量X从未设置。

我刚刚进行了一些测试,发现来自Script WTF:

  • GetComponentsInChildren<TEST>()将返回一个长度为0的数组,它应该为3。
  • GetChild(0).getComponent<TEST>()将返回我要查找的脚本,但未设置变量X.

这必须与克隆有关,对吗?

1 个答案:

答案 0 :(得分:1)

嗯......我明白了。我在实例化之前检查预制件是否存在,因此在实际实例化之前我还调用了对象中的方法。我没有想到加载预制件并实例化它是两个不同的实例。