Unity中GameObject的Active与InActive的注意点

2025-04-15 23:05:30

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

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

3、无论子对象GameObject.a罕铞泱殳ctiveSelf和GameObject.activeInHierar艘早祓胂chy是什么状态,一旦其父对象状态为InActive时,它们的便失效,无法用GetComponentsInChildren和Find的方法找到,但用可以用Transform.GetChild()的方法找到子物体。

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

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢