Unity之 GameObject.Find()路径正确却找不到物体

发布时间 2023-07-31 22:36:49作者: Coco_一水久钟

有一个需求,需要用代码找到一个GameObject并将其取消激活。我是这么写的:

 GameObject.Find("mainCanvas").SetActive(false);

但你运行后就会发现它报错;

而报错的内容是找不到物体。反复核实路径正确,且物体确实是激活状态后我对这个代码的报错感到很不解。

直到我把代码改成了:

var MainCanvas = GameObject.Find("mainCanvas");
MainCanvas.SetActive(false);

突然发现它就与正常了。

不明白为什么最开始的代码不对,只能是认为这是个坑了。