다음을 통해 공유


IGameInputReading::GetGamepadState

게임 패드 상태를 기술하는 입력 수치에 대한 보기를 검색합니다.

구문

bool GetGamepadState(  
         GameInputGamepadState* state  
)  

매개 변수

state _Out_
형식: GameInputGamepadState*

게임 패드로 해석되는 입력입니다.

반환 값

형식: bool

게임 패드를 성공적으로 해석한 경우 true를 반환합니다.
게임 패드로 인식되지 않는 입력을 읽으려고 시도할 때는 false를 반환합니다.

비고

IGameInputReading::GetInputKind 메서드를 호출하여 일부 IGameInputReading에 대한 유효한 해석을 반환하는 Get\*State 함수를 확인하세요. 각 Get*State 함수에는 IGameInputReading::GetInputKind 열거형에 대응하는 항목이 존재합니다. 해당 IGameInputReading::GetInputKind 플래그가 설정되지 않은 상태로 Get*State 함수를 호출하려고 시도하면, 함수가 false 반환 값과 함께 사용되지 않는 값의 기본값으로 반환합니다.

다음 C++ 샘플은 게임 패드 상태를 읽는 방법을 보여줍니다.

void PlayerCrouch(); 
void PlayerStand(); 
void PlayerReload(); 
void PlayerMove(float, float); 
void SetCameraOrientation(float, float); 
 
void ProcessGamepadState( 
    _In_ IGameInputReading * prevReading, 
    _In_ IGameInputReading * currentReading) noexcept 
{ 
    GameInputGamepadState prevState, currentState; 
    prevReading->GetGamepadState(&prevState); 
    currentReading->GetGamepadState(&currentState); 
 
    GameInputGamepadButtons changedButtons = prevState.buttons ^ currentState.buttons; 
    GameInputGamepadButtons pressedButtons = changedButtons & currentState.buttons; 
    GameInputGamepadButtons releasedButtons = changedButtons ^ pressedButtons; 
 
    if (pressedButtons & GameInputGamepadRightShoulder) 
    { 
        PlayerCrouch(); 
    } 
    else if (releasedButtons & GameInputGamepadRightShoulder) 
    { 
        PlayerStand(); 
    } 
 
    if (pressedButtons & GameInputGamepadLeftShoulder) 
    { 
        PlayerReload(); 
    } 
 
    PlayerMove(currentState.leftThumbstickX, currentState.leftThumbstickY); 
    SetCameraOrientation(currentState.rightThumbstickX, currentState.rightThumbstickY); 
}

요구 사항

헤더: GameInput.h

라이브러리: xgameruntime.lib

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

참고 항목

입력 API 개요
IGameInputReading
IGameInputReading::GetInputKind