Platform SDK: DirectX |
ここでは、Visual Basic でのアプリケーション開発について説明する。C++ については、「DirectInput C/C++ チュートリアル」を参照すること。
適切なフォース フィードバック デバイスが見つかった場合、能力をチェックするために前のステップで作成された 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 : エフェクトの生成