INPUT(PAD編)

XBOX360用PADをPCに接続、このためにPADを買ってしまいました。
XBOX360のパッド以外は動作が保障されないので、持っている他のPADでは反応しませんでした。

namespace WindowsGame
{
    public class Game1 : Microsoft.Xna.Framework.Game
    {
        GraphicsDeviceManager graphics;
        ContentManager content;
        private SpriteBatch sprite;
        private Texture2D texture;
        private Vector2 myPos = new Vector2(0, 0);

        public Game1()
        {
            graphics = new GraphicsDeviceManager(this);
            content = new ContentManager(Services);
        }

        protected override void LoadGraphicsContent(bool loadAllContent)
        {
            if (loadAllContent)
            {
                sprite = new SpriteBatch(graphics.GraphicsDevice);
                texture = content.Load<Texture2D>("mimi");
            }
        }

        protected override void Update(GameTime gameTime)
        {
            padInput();
            base.Update(gameTime);
        }

        protected override void Draw(GameTime gameTime)
        {
            graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
            sprite.Begin();
            sprite.Draw(texture, myPos, Color.White);
            sprite.End();

            base.Draw(gameTime);
        }

        /// <summary>
        /// PAD入力
        /// </summary>
        private void padInput()
        {
            myPos += GamePad.GetState(PlayerIndex.One).ThumbSticks.Left;
        }
    }
}

■アナログ制御

■左アナログスティックの状態取得(ThumbSticks.Left)

 myPos += GamePad.GetState(PlayerIndex.One).ThumbSticks.Left;

■右アナログスティックの状態取得(ThumbSticks.Right)

 myPos += GamePad.GetState(PlayerIndex.One).ThumbSticks.Right;

■デジタルPAD情報取得(DPad)

 if (GamePad.GetState(PlayerIndex.One).DPad.Down == ButtonState.Pressed)
     myPos.Y++;
 if (GamePad.GetState(PlayerIndex.One).DPad.Up == ButtonState.Pressed)
     myPos.Y--;
 if (GamePad.GetState(PlayerIndex.One).DPad.Right == ButtonState.Pressed)
     myPos.X--;
 if (GamePad.GetState(PlayerIndex.One).DPad.Left == ButtonState.Pressed)
     myPos.X--;

■「LT」「RT」アナログ値取得

 myPos.X += GamePad.GetState(PlayerIndex.One).Triggers.Left;
 myPos.X -= GamePad.GetState(PlayerIndex.One).Triggers.Right;

■各種ボタン情報取得

 if (GamePad.GetState(PlayerIndex.One).Buttons.A == ButtonState.Pressed)             // A
 if (GamePad.GetState(PlayerIndex.One).Buttons.B == ButtonState.Pressed)             // B
 if (GamePad.GetState(PlayerIndex.One).Buttons.X == ButtonState.Pressed)             // X
 if (GamePad.GetState(PlayerIndex.One).Buttons.Y == ButtonState.Pressed)             // Y
 if (GamePad.GetState(PlayerIndex.One).Buttons.Start == ButtonState.Pressed)         // START
 if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)          // BACK
 if (GamePad.GetState(PlayerIndex.One).Buttons.LeftShoulder == ButtonState.Pressed)  // 
 if (GamePad.GetState(PlayerIndex.One).Buttons.LeftStick == ButtonState.Pressed)     // 左アナログスティックを押しだ
 if (GamePad.GetState(PlayerIndex.One).Buttons.RightShoulder == ButtonState.Pressed) //
 if (GamePad.GetState(PlayerIndex.One).Buttons.RightStick == ButtonState.Pressed)    // 右アナログスティックを押した

■結果