在Unity中,在运行时,我在禁用父对象时将其从父对象中分离出来。正在将错误记录到控制台" GameObject已被激活或停用"。
显然这是因为我在同一帧中更改了父项,而该子项正在被停用。即使我在层次结构中看到子项已成功分离,也会发生这种情况。所以,从我的观点来看,一切正常。
那么,有谁知道这只是一个虚假的错误,是否需要我真正关心的事情?
答案 0 :(得分:0)
我相信你有一些奇怪的事情,因为这样的错误不会发生,在这里你如何证明它。
采取这个脚本:
using UnityEngine;
public class SyncTest : MonoBehaviour {
private Transform cube;
void Start () {
cube = transform.GetChild(0); // No tests as I know it's there
}
private void OnMouseUpAsButton()
{
cube.parent = null;
gameObject.SetActive(false);
}
}
然后创建一个球体并将一个立方体作为其子像:
然后将脚本附加到球体:
运行场景,只需点击球体,结果是球体消失,立方体保持不变,不再是孩子,根本不会产生任何错误:
我相信你有一些同步问题,以某种奇怪的方式运行这两个命令,很可能你连续两次调用obj.SetActive(false);
。