사용자 정의 UI 프레임 워크와 함께 XNA를 사용하여 XBox 용 응용 프로그램을 개발하고 있습니다. 나는 네비게이션 시스템을 개발이를 위해 는 네비게이션 시스템은 다음과 같이 작동합니다Xbox XNA UI 용 탐색 로직
시스템은 페이지의 존재, 각 페이지는 내가 그들에게 전화로 모든 하나 이상의 PageTabs이 자식 UI 요소가 포함되어 있습니다.
pagetabs는이 개 특성을 갖는은 X와 Y 이 (내가 포인트를 사용할 수도 알고 있지만, pagetab 클래스는 몇 가지 방법이있다), 객체 시스템의 현재 상태를 바탕으로
을, I 입력을 확인하고 오른쪽 pagetab을 사용하여 요소에 이벤트를 발생시킵니다. 그래서 나는이 배열이 있습니다 페이지 [] { 시작, 종료, 설정, ...} 그런 다음
, 나는 시작처럼, 내 상태에 대해 열거를 사용을하고 페이지를 같은 안내 가능한 요소에 액세스 이 :
페이지는 [시작] .Navigatables은 []
이 페이지의 모든 pagetabs을 포함하는 배열입니다. 당신이 내려갈 때, Y는 증가하고, 그 반대도 마찬가지입니다. 같음 X
위의 코드는 매우 유용합니다. 최대 & 분을 염두에두고 & X 값을 염두에두고 있습니다.
그러나이 시스템에는 하나의 큰 결함이 있습니다.이 시스템은 1 개의 상태에 대해서만 상자 입력을 할 수 있습니다. 그러나 내가 시작 페이지에 예를 들어 나는 말을 은 나의 상태는 시작이다, 나는 2 개 버튼, 팝업을 가지고 pagetabs : (1,1) & (2,1)
시스템 등 그것은 현재 설계되었으며, 선택된 pagetab을 사용하여 현재 상태의 모든 요소를 찾을 것입니다. 그러나 팝업이 보이면 팝업 만 탐색을 허용하고 나머지는 사용자 입력에 반응하지 않도록해야합니다 게임 패드).
요소가 입력을 받아 들일 수있는 '하위 상태'가 포함 된 PageTab 클래스에 추가 목록을 추가하려고 생각했지만 더 좋은 방법이 있어야합니다. 그렇지 않습니까?
나는 그것이 충분히 설명해 주었으면한다. 당신이 더 많은 정보를 필요로한다면 나는 그것을 제공하게되어 기쁠 것이다.