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出來,但是怎麽會是壹個錯誤呢。