2016-09-11 103 views
0

我有一個基於目錄中的文件創建按鈕的系統。我需要根據按鈕的Text組件文本屬性的子對象讀取的內容調用腳本中的函數。基本上,我需要修改每個按鈕來調用具有特定參數的函數。我將如何做到這一點?Unity如何在代碼中按下按鈕時調用函數?

回答

1

我想你需要檢查:事件觸發腳本

https://docs.unity3d.com/ScriptReference/EventSystems.EventTrigger.html

事件觸發腳本允許您調用子組件的觸發器的方法(點擊,鼠標懸停..)。

(檢查:http://answers.unity3d.com/questions/974622/unity-502f1-ui-button-onclick-function.html

編輯:

如果不提前哪種方法將被分配知道: 可以使用的System.Reflection檢索相關方法。

string name = "BtnAction"; 
MethodInfo m = t.GetMethod(name); 

我希望這將幫助你:

對於每個按鈕,附加組件「事件觸發器」和你的腳本與您的所有方法。

然後使用反射來獲取關聯的方法。

最後,設置使用事件觸發部件:

button.onClick.AddListener(FunctionToCall);

+0

你介意解釋鏈接嗎?這是一個鏈接唯一的答案。 –

+0

對不起,我正在更新我的消息。 –

相關問題