GameObject enemy = Instantiate(spawnObject,spawnPosition,spawnObject.transform.rotation) as GameObject;
enemy.transform.parent = transform;
当我在游戏模式下测试我的游戏时,上面的代码生成了预期的结果,但是我得到了这个错误消息:
“禁用设置驻留在预制件中的转换的父级以防止数据损坏。”
是的,spawnObject变量包含一个预制件,但是我假设创建一个新的GameObject应该解决了这个问题吗?
答案 0 :(得分:1)
检查你的“变换”变量是否实际来自游戏对象,而不是来自预制件。
var transform = somePrefab.transform;
enemy.transform.parent = transform; // this won't work
var transform = someOtherGameObject.transform;
enemy.transform.parent = transform; // this will
也许你可以提供一些关于你的变换变量来自何处的更多信息。
答案 1 :(得分:0)
我也一直在看这个问题 - 一个实例化的GameObject(不是预制件)给出了这个错误信息。我的GameObject(A)已经成为另一个实例化的不同类型的GameObject(B)的中间人物。我想将A重新演绎到B的另一部分 - 这会因给定的错误而失败。我唯一的解决方案是首先将A重新表示为null,然后再次重新表示为B.