XNAメモ – コントローラーの振動機能の使い方

Posted: 2012年2月18日 カテゴリー: プログラミングメモ, XNA, XNAメモ
タグ:, , , , ,

今回は(も)短めのメモで、コントローラーを振動させる方法をメモります。

XBOXコントローラーを振動させるときは、GamePad.SetVibration()メソッドを使用します。

GamePad.SetVibration()メソッドの第1引数には、振動させるコントローラー、第2引数には左のモーターの振動値、第3引数は右のモーターの振動値です。モーターの振動値は、0.0f~1.0fの間である必要が有り、0.0fは0%、1.0fは100%で中間はそれに比例したパーセンテージで振動します。

それで実際に振動させる時は以下の用に書きます。

KeyboardState keystate = Keyboard.GetState();
if (keystate.IsKeyDown(Keys.Z))
{
GamePad.SetVibration(PlayerIndex.One, 0.5f, 0.5f);
}

これで最高の50%で振動します。ですが、このままだと振動しっ放しになるので、止める処理も必要です。その為には、GamePad.SetVibration()メソッドを呼び出し、第2と第3引数を0.0fにすれば止まります。

KeyboardState keystate = Keyboard.GetState();

if (keystate.IsKeyDown(Keys.Z))
{
GamePad.SetVibration(PlayerIndex.One, 0.5f, 0.5f);
}

if (keystate.IsKeyDown(Keys.X))
{
GamePad.SetVibration(PlayerIndex.One, 0.0f, 0.0f);
}

以上です。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中