내 게임을위한 메뉴 시스템을 만들고 메뉴를 만들 때 버튼을 만들려고하므로 클릭 이벤트에서 실행할 명령 (또는 함수) 집합을 전달할 수 있습니다.Monogame/XNA 클릭시 수신기를 입력하거나 함수를 실행 하시겠습니까?
나는, Screen
을 enum
매개 변수를 ChangeScreen
라는 기능을 가지고 있고, 내가 좋아하는, 이벤트를 듣고 버튼에이 기능을 통과 할 수 있도록하고 싶습니다 그래서 (의사 코드 입력) :
menuButtons.Add(new MenuButton(ChangeScreen(Screen.Settings), texture, hovertexture, position));
나는 다음 menuButtons
이상 열거하고 각 버튼의 Update
및 Draw
메서드를 호출 할 것입니다. 이 아이디어가 마음에 들지만 각 버튼을 구체적으로 확인하기 위해 if 문을 작성하는 대신 각 변수에 직접 MenuButton
을 할당하는 것보다 상대적으로 효율적으로 보입니다.
그래도 내가 좋아하는 유일한 유스 케이스는 아닙니다. 가능한 경우, 나는 방법에 전달할 수 싶어요 같은 :
menuButtons.Add(new MenuButton(new Method() { variableToSet = 1; }, texture, hovertexture, position));
나는 Action
를 사용하여 시도하지만 난 그냥 제대로이 일에 대해 이동하는 방법을 이해하지 않습니다. 가능한 모든 것이 있습니까? 아니면 비슷한 해결책이 있습니까?
그래서 UI 요소를 누를 때마다 어떤 종류의 콜백을 만들고 싶습니까? –
예,하지만 MenuButton을 만들 때 새로운 기능을 전달하려고합니다. – zuddsy
나는 당신이 무엇을 요구하고 있는지 분명히 생각하지 않는다. 어쩌면 당신의 질문에 답을 해보고 더 많은 대답을 얻을 수도 있습니다. – craftworkgames