Unity中GameObject的Active与InActive的注意点

 时间:2026-02-12 00:45:36

1、Script可以控制InActive的GameObject,但前提是Script所依附的GameObject不能是InActive,一旦为InActive,自身所有控件均失效。

2、SetActive(bool isActive)设置GameObject是否活动,设置后,其子类物体也会变成InActive,值得注意的是,4.0以后的版本Active分了两类,GameObject.activeSelf和 GameObject.activeInHierarchy,当一个GameObject为InActive时,其子对象本地状态即GameObject.activeSelf其实为ture,但实际在屏幕上的状态GameObject.activeInHierarchy是false。

3、无论子对象GameObject.activeSelf和 GameObject.activeInHierarchy是什么状态,一旦其父对象状态为InActive时,它们的便失效,无法用GetComponentsInChildren和Find的方法找到,但用可以用Transform.GetChild()的方法找到子物体。

4、记住SetActive改变的是自身的activeSelf和子物体的activeInHierarchy,如果你有一个子物体的activeSelf是false,就算父物体SetActive(true),该子物体的activeSelf是不变。

5、activeSelf=false的时候activeInHierarchy一定为false,true同理。

  • 更改“我的文档”默认位置至D盘
  • Word2013怎么修改office主题样式颜色?
  • 如何开启夜神模拟器的开发者选项菜单图解
  • 空回收站的桌面图标怎么更换?
  • 怎么启动任务管理器?
  • 热门搜索
    小孩感冒鼻塞怎么办 骨结核的治疗方法 蒜苗怎么做好吃 电机型号大全 素烧茄子的家常做法 好吃 茄子土豆的家常做法 小脑萎缩的治疗方法 家常鸡翅最简单做法 臊子面的家常做法