Setting the parent of a transform which resides in a prefab is disabled to prevent data corruption.
导致问题原因是,用Resouce.Load加载一个prefab,没有实例化直接设置parent 所以导致错误,错误原因就是没有实例化的prefab 不能直接操作transform,会导致预制数据损坏
eg:GameObject effect = Resource.Load("effect") as GameObject;
effect.transform.parent = transform; (error)
GameObject effect = Instantiate(Resource.Load("effect")) as GameObject;
effect.transform.parent = transform; (right)
导致问题原因是,用Resouce.Load加载一个prefab,没有实例化直接设置parent 所以导致错误,错误原因就是没有实例化的prefab 不能直接操作transform,会导致预制数据损坏
eg:GameObject effect = Resource.Load("effect") as GameObject;
effect.transform.parent = transform; (error)
GameObject effect = Instantiate(Resource.Load("effect")) as GameObject;
effect.transform.parent = transform; (right)
本文解释了在Unity中使用未实例化的prefab直接设置父级transform导致的数据损坏问题,并提供了正确的做法。通过实例化prefab后再进行transform操作可以避免此类错误。

9632

被折叠的 条评论
为什么被折叠?



