Platform SDK: DirectX

ステップ 8 : モチーフの演奏

[Visual Basic]

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

[C++]

Dmdonuts はいくつかのモチーフを使って、ゲームのアクションにアクセントを付ける。たとえば、プレーヤーの宇宙船が画面の端に接したときや、プレーヤーの砲火がアステロイドに当たったときが挙げられる。

モチーフを演奏するのは、CheckForHits 関数から抜粋した次のコードが示すとおり単純な作業である。ドーナツに命中するたびに MOTIF_BLOWUP が演奏される。

gpPerformance->PlaySegment(
        gapMotif[gnCurrentStyle][MOTIF_BLOWUP], 
        DMUS_SEGF_SECONDARY | DMUS_SEGF_GRID, 0, NULL);
 

このモチーフはセカンダリセグメントとして演奏しなければならないので、プライマリ セグメントが演奏されている最中でもメインテーマを妨げることはない。グリッド境界で演奏するように挿入され、プライマリ セグメントのステップを乱さずに演奏できるように最小限の分解能が設定される。rtStartTime パラメータは 0 であり、最初の境界に達したときにセグメントを演奏することを意味しており、演奏中のセグメントにアクセスする必要はないので ppSegmentState パラメータは NULL になっている。

次項 : ステップ 9 : 通知の処理