SerializeField等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],理解起來比較麻煩,也不是很常用,就算了……


就先這些將就將就吧……都是最基礎最常見的,高深的,會被玩到吐的……反正我先去吐一吐多……


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM