我爲我的遊戲創建了一個菜單系統,並且正在嘗試創建這些按鈕,以便在創建時,我可以傳遞一組指令(或函數)來執行點擊事件。Monogame/XNA點擊輸入監聽器或執行功能?
我有一個名爲ChangeScreen
函數,該函數的參數enum
,Screen
,我想能夠通過該功能到按鈕聽事件,像這樣(僞代碼傳入):
menuButtons.Add(new MenuButton(ChangeScreen(Screen.Settings), texture, hovertexture, position));
然後,我會列舉超過menuButtons
並調用每個按鈕的Update
和Draw
方法。我喜歡這個想法,它似乎比將每個MenuButton
分配給它自己的變量更有效,而不是寫if語句來專門檢查每個按鈕。
這不是我想要的唯一用例。如果有可能,我希望能在一個方法傳遞,如:
menuButtons.Add(new MenuButton(new Method() { variableToSet = 1; }, texture, hovertexture, position));
我嘗試使用Action
,但我就是不明白如何去正確地這樣做。是否有可能,還是有類似的解決方案?
所以,你想創建某種回調,只要你的UI元素被按下? –
是的,但我希望能夠在創建MenuButton時傳遞一個全新的功能。 – zuddsy
我不認爲你真正清楚你在問什麼。也許嘗試改寫你的問題,你可能會得到更多的答案。 – craftworkgames