这个HideFlags是一个enum 。而且其中的作用和DontDestroyOnLoad函数的作用是一致的。HideFlags的枚举成员有 : DontSava , HideAndDontSave , HideInHierarchy , HideInInspector , None(默认),NotEditable。
我的Unity版本是:5.4.0f3。在这个版本测试 :
一 ,DontSave和HideAndDontSave的效果是一样的。HideAndDontSave的功能:如果GO被HideAndDontSave表示go.hideFlags = HideFlags.DontSave(在Transform中则无效)。在退出程序时,需要手动销毁,不然会产生内存泄漏:DestroyImmediate函数,在
面板中会隐藏 ,但是使用DontSave也会隐藏。不管了。
具体:
public void OnApplicationQuit() { @go = GameObject.Find("Cube"); if (@go != null) { Debug.Log("必须要强制消除上个Scene的Cube!"); DestroyImmediate(@go); } }
它们和DontDestroyOnLoad的效果是一样的。会重复制造@go(子对象不会)。这点一定要注意,虽然说在Hierarchy看不见 , 但在Scene面板中拖动一下,就会发现在复制。
二,HideInHierarchy 在Hierarchy面板中隐藏(子对象有效)。只有在Awake方法中使用才有效。
三,HideInInspector在Inspector面板中隐藏(子对象无效)。若在GO中使用,则GO中所有的组件将隐藏。若对某个组件使用,则只有其组件隐藏。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。