1. 程式人生 > >【Unity教程】淺談Unity呼叫其他指令碼函式的方法(未完)

【Unity教程】淺談Unity呼叫其他指令碼函式的方法(未完)

第一種,被呼叫指令碼函式為static型別,呼叫時直接用  指令碼名.函式名()

這種就是單例,簡單的單例的使用

如果程式碼過多,程式碼之間相互呼叫單例,每一次呼叫就會生成一個單例,如果程式碼過多,

就不方便程式碼的維護,造成程式效能的重要流失,因此不建議依賴使用單例

使用這種方法,必須在類的前面新增關鍵字static,並且每個子函式都要新增關鍵字static

使用關鍵字static的類不能繼承紅線所花的MonoBehaviour




第二種,GameObject.Find("指令碼所在的物體的名字").SendMessage("函式名");//能呼叫public和private型別函式

(後續使用到,再新增相關內容)


第三種,GameObject.Find("指令碼所在的物體的名字").GetComponent<指令碼名>().函式名();//只能呼叫public型別函式

這種方法,比較適用與建立遊戲邏輯系統

建立一個空物體名字為“遊戲邏輯”,把需要的邏輯指令碼都放在這個空物體下面,

這樣呼叫相關函式的功能的時候,就可以很快的查詢到

同理,UI也是一樣


這裡有個仿照Unturned的Unity工程例項

裡面的遊戲邏輯等等都可以參考一下