サムスティックでシップを動かす

XNA でサムスティックの操作でシップを動かします。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プログラムの説明

  1. 透明色を設定したシップの画像を、サムスティックで操作します。
    サムスティックは左上と中央右に二個備わっていて、今回は左側のサムスティックを使います。
    サムスティックの情報は、X方向とY方向に押し付ける強さにより「-1.0f〜1.0f」の値を取ります。
    キー操作に比べて、はるかに柔軟性に富み、滑らかに操作することが出来ます。
    基本的なプログラムは 矢印キーでシップを動かす を参照して下さい。
  2. Update() メソッドで、サムスティックの情報を取得してシップの座標を更新します。
    サムスティックの感度(移動の速さ)は 5.0f の値で調整して下さい。
    アナログコントローラの精度はかなり高く、思った以上に滑らかな操作が出来ます。
            protected override void Update(GameTime gameTime)
            {
                // ゲームを終了する
                if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed  ||
                    Keyboard.GetState().IsKeyDown(Keys.Escape)) this.Exit();
    
                // TODO: Add your update logic here
                GamePadState currentState = GamePad.GetState(PlayerIndex.One); 
                if (currentState.IsConnected) 
                {
                    pos.X += currentState.ThumbSticks.Left.X * 5.0f;
                    pos.Y -= currentState.ThumbSticks.Left.Y * 5.0f;
                }
    
                base.Update(gameTime);
            }
        

前田稔(Maeda Minoru)の超初心者のプログラム入門

超初心者のプログラム入門(XNA(C#) game program)