Unity中GameObject的Active与InActive的注意点

 时间:2024-10-13 05:23:04

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主题样式颜色?
  • 如何开启夜神模拟器的开发者选项菜单图解
  • 空回收站的桌面图标怎么更换?
  • 怎么启动任务管理器?
  • 热门搜索
    面目全非的近义词 出类拔萃的近义词 博览群书的近义词 cucumber怎么读 固执的近义词 小米手机进水了怎么办 英雄联盟语音怎么开 营养不良怎么办 文本框怎么删除 怎么当健身教练