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

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

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

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

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

直到我把代码改成了:

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

突然发现它就与正常了。

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

 

posted on   Coco_一水久钟  阅读(485)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 我与微信审核的“相爱相杀”看个人小程序副业
点击右上角即可分享
微信分享提示