Share via


IGameInputReading

단일 입력 업데이트를 위해 데이터를 캡슐화합니다. 이 인터페이스의 메서드를 사용하면 여러 장치의 렌즈를 통해 게임 입력을 해석하고, 입력을 전송하는 장치에 대한 정보를 얻을 수 있습니다. 이 인터페이스는 특정 순간의 게임 컨트롤러 상태에 대해 입력을 실행 가능한 정보로 변환하는 데 도움을 줍니다.

구문

class IGameInputReading : public IUnknown  

메서드

메서드 설명
GetArcadeStickState IGameInputReading GetArcadeStickState API 참조
GetControllerAxisCount 게임 컨트롤러의 축 수를 검색합니다.
GetControllerAxisState IGameInputReading GetControllerAxisState API 참조
GetControllerButtonCount 게임 컨트롤러의 버튼 수를 검색합니다.
GetControllerButtonState IGameInputReading GetControllerButtonState API 참조
GetControllerSwitchCount 게임 컨트롤러의 스위치 수를 검색합니다.
GetControllerSwitchState IGameInputReading GetControllerSwitchState API 참조
GetDevice IGameInputReading::GetDevice API
GetFlightStickState IGameInputReading GetFlightStickState API 참조
GetGamepadState IGameInputReading::GetGamepadState API
GetInputKind IGameInputReading::GetInputKind API
GetKeyCount 게임 컨트롤러에서 작동하는 키 수를 검색합니다.
GetKeyState 게임 컨트롤러 입력에서 활성 키의 상태를 검색합니다.
GetMotionState IGameInputReading GetMotionState API 참조
GetMouseState IGameInputReading GetMouseState API 참조
GetRacingWheelState IGameInputReading GetRacingWheelState API 참조
GetRawReport 장치 입력으로부터 원시 데이터를 검색합니다.
GetSequenceNumber IGameInputReading GetSequenceNumber API 참조
GetTimestamp IGameInputReading::GetTimestamp API
GetTouchCount 게임 컨트롤러의 터치 포인트 수를 검색합니다.
GetTouchState 모든 터치 디지타이저에서 상태를 검색합니다.
GetUiNavigationState IGameInputReading GetUiNavigationState API 참조

비고

장치에서 수신되는 모든 입력 상태 변경이 IGameInputReading 인스턴스에 캡처됩니다. 기본적으로 특정 순간에 디바이스의 입력 상태를 나타내는 스냅샷입니다. IGameInputReading 인터페이스에서는 장치의 원시 입력 보고서 데이터와 해당 데이터의 여러 변형에 모두 액세스할 수 있습니다.

새 보고서에서 원시 입력 데이터를 캡처한 후 GameInput API는 데이터를 조사하고 추가적인(보다 유용한) 표현으로 변환하려고 시도합니다. 예외가 거의 없는 경우 데이터는 하나 이상의 기본 표현(단추 및 축 값 배열, 키 상태 배열 등)으로 변환됩니다. 12 가능하면 데이터는 게임 패드 상태와 같은 하나 이상의 추상적인 고정 형식 표현으로 변환됩니다.

결과적으로 단일 IGameInputReading 인스턴스에는 동일한 입력 데이터의 여러 “보기”가 자주 포함됩니다. 이러한 방식은 필요한 입력 데이터에 따라 가장 자세한 것부터 가장 대략적인 것까지 수준에 따라 서로 다른 다양한 애플리케이션에 맞게 데이터를 제공합니다. GameInputKind 열거형에 정의된 각 입력 데이터 종류에 따라 해당 종류의 데이터를 검색하기 위한 IGameInputReading 메서드가 존재합니다.

2개의 연속된 IGameInputReading 인스턴스(동일 장치)에서 캡처된 원시 보고서 데이터만 차이가 보장됩니다. 원시 데이터가 변경되어도 상위 수준에서 해당 데이터의 변환이 항상 달라지는 것은 아니기 때문입니다. 이러한 사실은 IGameInput 인터페이스에서의 폴링 및 이벤트 기반 API를 통해 이해되며, 적합한 것으로 고려됩니다. 예를 들어 GameInputKindGamepad와 같은 입력 종류의 필터만 제공하고 그 외에는 제공하지 않는 애플리케이션은 이전에 계산된 게임 패드 상태를 변경하는 원시 데이터가 포함된 수치만 받습니다.

입력 스트림에서 수신되는 모든 IGameInputReading은 싱글톤입니다. 같은 수치를 여러 번 검색하면 단순히 기본 개체의 참조 횟수만 증가합니다. 따라서 IGameInputReading 인스턴스를 비교하여 참조 일치성을 확인할 수 있습니다. 시스템에서 기본 장치가 연결 해제된 경우에도 읽기 인스턴스에 대한 모든 참조가 릴리스될 때까지, IGameInputReading 인스턴스는 항상 유효한 상태(그리고 검색 가능한 상태)로 유지됩니다. 또는 수치가 너무 오래된 경우에는 입력 스트림 버퍼에 더 이상 포함되지 않습니다. 이 인터페이스에서 모든 메서드는 단순히 수치에 저장된 캐시 데이터를 검색하기 때문에, 모든 메서드가 매우 빠르게 반환되며, 시간에 민감한 컨텍스트에서 안전하게 호출할 수 있습니다.

요구 사항

헤더: GameInput.h

지원되는 플랫폼: Windows, Xbox One 패밀리 콘솔 및 Xbox Series 콘솔

참고 항목

입력 API 개요
GameInput