Platform SDK: DirectX

ステップ 2 : デバイス プロパティの設定

[C++]

ここでは、Visual Basic でのアプリケーション開発について説明する。C++ については、「DirectInput C/C++ チュートリアル」を参照すること。

[Visual Basic]

適切なフォース フィードバック デバイスが見つかった場合、能力をチェックするために前のステップで作成された DirectInputDevice オブジェクトが残っている。オブジェクトには、データ形式や協調レベルの設定、および入力用の範囲プロパティの設定などの初期化が必要である。この処理については、「チュートリアル 3 : ジョイスティックの使用」を参照すること。協調レベルには DISCL_EXCLUSIVE を含めなければならない。デバイスへのバックグラウンド アクセス権を持つ必要はないが、DISCL_BACKGROUND フラグを使うと、コード ウィンドウに切り替えるときに取得を失うことがなくなるので、デバッグ作業が容易になる。

Call didev.SetCommonDataFormat(DIFORMAT_JOYSTICK2)
Call didev.SetCooperativeLevel(Me.hWnd, _
        DISCL_BACKGROUND Or DISCL_EXCLUSIVE)
' 範囲プロパティの設定などを行う。
.
.
.

フォース フィードバックの場合、デフォルトのスプリング アクションが生成するエフェクトに干渉しないように、デバイスの自動センタリング プロパティを無効にしたい場合もある。

Dim prop As DIPROPLONG
prop.lData = 0
prop.lHow = DIPH_DEVICE
prop.lObj = 0
prop.lSize = Len(prop)
Call didev.SetProperty("DIPROP_AUTOCENTER", prop)
 
didev.Acquire

次項 : ステップ 3 : エフェクトの生成