當前位置:編程學習大全網 - 源碼下載 - Unity腳本類為什麽要盡量避免繼承MonoBehaviour類

Unity腳本類為什麽要盡量避免繼承MonoBehaviour類

unity3d文檔裏雖然說所有腳本繼承MonoBehaviour類,但是妳如果想自定義類,就可以不用繼承MonoBehaviour,但是可以類只能調用其中的方法和屬性,無法拖到場景的物體中使用。

MonoBehaviour裏面的幾十方法比如

Start(), Awake(), Update(), FixedUpdate(), OnGUI(),這幾個方法不管妳用哪壹個,必須要繼承MonoBehaviour

用不用MonoBehaviour關鍵看要實現什麽功能和屬性,如果妳的類不需要引擎提供的初始化,各種物理,渲染,著色器的回調,最好不要繼承MonoBehaviour,遊戲是需要優化節約資源的,如果妳本身不需要那些功能,繼承後,當引擎接觸事件,觸發的時候,就會反射調用個各種函數,這是很需要耗費資源的,不管咋樣,GameObject還是要繼承MonoBehaviour的,這樣才能new實例化壹個對象,但是其他類不要繼承就行了。

如果不繼承Mono會有那些壞處呢?

1:不能使用Invoke和Coroutine了。

2:調試不方便了,不能在Inspector和Debug tab看到參數。同時如果壹個類不繼承Mono,那麽這個類的List表也無法在Debug界面看到。

3:不是自動調用Start,Update等方法。

繼承Mono會有壹個BUG:

如果妳繼承了Mono的類,妳就不需要創建它的實例了,但是妳不能new創建了,雖然編譯可以通過,但是執行的時候就會有個壹個錯誤顯示在edit的console窗口,這時候不管妳new後面有是否為空,但是系統顯示為空,這就是壹個BUG了,我的類繼承了妳,雖然不能new出來,但是怎麽會是壹個錯誤呢。

  • 上一篇:手機安卓系統和蘋果系統,各有自己的哪些優缺點
  • 下一篇:數據結構(java版)
  • copyright 2024編程學習大全網