ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

パッドのボタン判定

XNAではボタンが押されたかどうかはGetStateで状態を取得して判定する。

GamePadState padState = GamePad.GetState(PlayerIndex.One);

if (padState.IsConnected && padState.Buttons.A == ButtonState.Pressed)
{
    // プレイヤー1のパッドのAボタンが押されたときの処理
}

ボタンが押されたかどうかの状態は列挙型ButtonStateで表される。ButtonStateは、PressedとReleasedの値を持っている。つまり、押されているか押されていないかのみ。
しかし、ゲームのパッド入力では、1回だけ押されたとか、リピートとかの判定が必要になる。いずれちゃんと、このあたりをまとめておこう。