Microsoft DirectX 8.0 (C++) |
取得した IDirectSound3DBuffer8 インターフェイスを使用して、空間内でサウンドを移動する。チュートリアル サンプル アプリケーションでは、一連のメッセージ ボックスを閉じるときにこの処理を実行する。たとえば、次のコードは、サウンドを直ちに左に移動する。
pDSB->SetPosition( -0.1f, 0.0f, 0.0f, DS3D_IMMEDIATE );
最初の 3 つのパラメータは、音源の新しい位置をデフォルトのリスナーとの相対的な位置で指定する。デフォルトのリスナーは座標 (0.0, 0.0, 0.0) にあり、正面は z 軸の正の方向を向き、頭のてっぺんは y 軸の正の方向を向いている。デフォルトの距離の単位はメートルである。x 軸の正の方向は左から右なので、サウンドの新しい位置はリスナーの左 10 cm の所になる。詳細については、「3D 空間の座標」および「リスナーの向き」を参照すること。
IDirectSound3DBuffer8::SetPosition メソッドの最後のパラメータは、変更を直ちに反映するか、すべての変更が実行されてから反映するかを指定する。詳細については、「遅延設定」を参照すること。