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主题样式颜色?
  • 如何开启夜神模拟器的开发者选项菜单图解
  • 空回收站的桌面图标怎么更换?
  • 怎么启动任务管理器?
  • 热门搜索
    葱油拌面的做法 脂肪粒怎么消除在眼睛旁边的 卿怎么读 擢怎么读 盐水鸭的正宗做法 ins怎么注册 千里香馄饨的做法 豆角茄子的家常做法 虢怎么读 山药的做法大全家常菜