Windows.Xbox.Input은 GDK 이전 XBOX One 소프트웨어 개발 키트 개발용 입력 API입니다. 개념적으로, GameInput은 장치와 입력 판독값을 다른 방식으로 봅니다. 이 항목에서는 Windows.Xbox.Input과 GameInput 간의 몇 가지 주요 차이점을 설명합니다.
입력 중심 vs. 장치 중심
Windows.Xbox.Input과 GameInput의 핵심 차이점은 전자는 장치의 속성으로서 입력 상태를 얻기 위해 장치를 먼저 수집해야 한다는 점입니다. 반면, GameInput은 관련 장치를 가진 입력 판독값의 필터링 가능한 스트림으로 시작합니다.
A 버튼 누름 찾기
게임이 처음 시작될 때 사용자는 계속할 준비가 되었음을 나타내기 위해 종종 A를 눌러야 합니다. 여기서는Windows.Xbox.Input과 GameInput에서 이를 수행하는 방법을 비교하는 예를 살펴봅니다. 이 예에서는 게임패드만 찾습니다. 예는 시연을 위해 단순화되었습니다.
Windows.Xbox.Input
다음 코드 예제는 시스템에 연결된 모든 게임패드를 열거하고gamepads 벡터에 저장하는 것으로 시작합니다. 그런 다음 루프에서 gamepads를 순회하고, 각 게임패드의 현재 입력 판독값을 확인하며, 각 판독값에서 A를 확인합니다.
이 코드는 이전 API를 참조합니다. 이 호출은
GameInput에서는 존재하지 않습니다.GameInput
다음 코드 예제에서는 코드가 어떤 장치에서든 가장 최근 게임패드 판독값을 찾습니다. GameInputKind 필터를GamePad로 설정하여 GetCurrentReading을 호출함으로써, 코드는 m_gameInput에게 게임패드 판독값만 반환하도록 요청합니다. 다음으로, 코드는 판독값의 상태를 쿼리하고 A 누름을 확인합니다.
어떤 게임패드와 통신하고 있는지 추적하고 싶을 수 있습니다. 더 완전한 예제는 GameInput 판독값을 참조하세요.
GameInput은 장치를 순회하고 각 판독값을 확인할 필요가 없습니다. 대신, 한 번의 메서드 호출로 최신 입력 상태를 확인할 수 있습니다. 각 물리적 장치에 대해 얼마나 많이 또는 얼마나 적게 알지 선택할 수 있습니다.