Unity一些屬性的用法


[SerializeField] 在Inspector版面中顯示非public屬性,而且序列化;若寫在public前面,等於沒寫……(至於序列化是啥,自行腦補……),上圖:




[NonSerialized]在Inspector版面中隱藏public屬性,而且序列化;若是寫在非public屬性前面,等於沒寫……,上圖:




[HideInInspector] 在Inspector版面中隱藏public屬性,與上面相比,只是隱藏,沒有序不序列化的功能……,上圖:




[AddComponentMenu("XXX/XX/XXX")] 讓Component菜單下出現你自定義的類,位置是「XXX/XX/XXX」,至於功能麼,用過Component的都知道,不用解釋了吧……,上圖:




[ExecuteInEditMode] 在編輯界面讓你的功能(類)起做用,就是你不用點開始,就可你讓你的功能起做用,打個比方,NGUI裏面的Slider的滑動條就是醬紫……,上圖:
這個真沒點開始……真的……




[RequireComponent (typeof (ClassName))] 就是在你把被這句話標記的類拖到(或者AddComponent)GameObject上時,自動再給你加上「ClassName」這個類……,上圖:






[ContextMenu ("XXX")] 在Inspector版面中,右擊包含這條標記的類,在菜單中會出現名爲「XXX」的選項,點擊選項,會執行被標記的功能(注:此乃標記功能也,非標記類),上圖:
只是個例子,名字亂寫了的……通常來講「XXX」就是被執行的功能的名字,方便查找……




[MenuItem ("XXX/XXX")] 在菜單中出現選項欄,點一下,執行對應功能。注:對應的功能必須是static,同時,使用的時候須要加上using UnityEditor,這個類也要找個Editor文件夾放(通常放「Assets\Editor」),要不……就等着糾結吧~~,上圖:






另外,關於[NonSerialized]和[RPC],理解起來比較麻煩,也不是很經常使用,就算了……


就先這些將就將就吧……都是最基礎最多見的,高深的,會被玩到吐的……反正我先去吐一吐多……
相關文章
相關標籤/搜索