检索描述游戏板的状态的输入读取的视图。
语法
bool GetGamepadState(
GameInputGamepadState* state
);
参数
state _Out_
类型:GameInputGamepadState*
作为游戏板的输入的解释。
返回值
类型:bool
在成功解释某一游戏板后将返回 true。 在尝试读取未识别为游戏板的输入时返回 false。
备注
调用 IGameInputReading::GetInputKind 方法以查看哪些 Get*State 函数将返回某些 IGameInputReading 的有效解读。 每个 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(¤tState);
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
库:gameinput.lib
支持的平台: 窗户