XNAではボタンが押されたかどうかはGetStateで状態を取得して判定する。
GamePadState padState = GamePad.GetState(PlayerIndex.One); if (padState.IsConnected && padState.Buttons.A == ButtonState.Pressed) { // プレイヤー1のパッドのAボタンが押されたときの処理 }
ボタンが押されたかどうかの状態は列挙型ButtonStateで表される。ButtonStateは、PressedとReleasedの値を持っている。つまり、押されているか押されていないかのみ。
しかし、ゲームのパッド入力では、1回だけ押されたとか、リピートとかの判定が必要になる。いずれちゃんと、このあたりをまとめておこう。