发布时间:2019-09-18 07:23:28编辑:auto阅读(1730)
这个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中所有的组件将隐藏。若对某个组件使用,则只有其组件隐藏。
上一篇: 【3】iptables理解 - filt
下一篇: Linux基础命令(3)
48719
47752
38526
35726
30164
26902
25927
20773
20535
18931
325°
393°
426°
447°
435°
431°
477°
547°
663°
676°