Microsoft DirectX 8.0 (C++) |
オーディオ スクリプトは、アプリケーション内からアクセスできる変数とルーチンを含むファイルである。Microsoft® Visual Basic® Scripting Edition の AudioVBScript と呼ばれるサブセットで記述される。DirectMusic Producer にはスクリプトのオーサリング環境が含まれており、スクリプトはバイナリ パラメータとスクリプトのテキストを含む特殊な形式で保存される。
スクリプトは主な DirectX Audio オブジェクトのいくつかを実装し、次のような基本的な機能を実行できる。
DirectX Audio スクリプトは、アプリケーション開発者とサウンド作成者が容易に共同で作業できるようにすることを目的としている。スクリプトによって、サウンド作成者はサウンドトラックを細かく、直接制御することができる。サウンドのロードや演奏の基本的な機能はスクリプトによって実行される。アプリケーションには、スクリプトを呼び出す一般的なコードが含まれる。
ここでは、スクリプトを使用する利点について例を挙げて説明する。
あるゲームのサウンド エフェクトが個々のウェーブ ファイルに保存されているとする。ゲームでは、武器の発射音やモンスターのうなり声などのイベントにこれらのサウンドを使用する。従来のプログラミング手法では、開発者は個々のサウンドをファイル名を指定してロードし、ゲームの適切なポイントでセカンダリ セグメントとして演奏していた。
サウンド作成者が、サウンドを変更しようとした場合を考えてみる。たとえば、モンスターのボスのうなり声を手下とは異なるうなり声に変更したいとする。サウンド作成者は必要なファイルを作成し、コードで変更を実装する開発者に渡す。サウンド作成者が新しくコンパイルされたゲームを受け取って、テストするまでには相当な時間がかかる。
同じ状況で、オーディオ スクリプトを使用する場合を考えてみる。実際のサウンドをアプリケーションにハードコーディングする代わりに、開発者はうなり声に対応する次のようなコードを記述する。ここでは、szGrunter が "Player"、"Boss" または "Minion" などの文字列定数に設定されており、pdmScript はスクリプト オブジェクトへのインターフェイスであると仮定する。
pdmScript->SetVariableVariant("Grunter", szGrunter, NULL); pdmScript->CallRoutine("PlayGrunt", NULL);
このコードでは、スクリプト内の Grunter 変数の値を設定し、PlayGrunt スクリプト ルーチンを呼び出している。スクリプトの作成者、通常はサウンド設計チームのメンバーがルーチンの処理を決定する。たとえば、再生するサウンドを決定する前に、"Grunter" の値をテストするなどである。
ゲームの状況に対する応答を変更するには、スクリプトのテキストを変更するだけで済み、新しいルーチンを既存のアプリケーションで直ちにテストできる。
スクリプティング API は DirectMusic Producer のヘルプ ファイルで説明されている。アプリケーションでスクリプトを実装する方法については、「オーディオ スクリプトの使い方」を参照すること。
注 オーディオ スクリプトは Web ページで使用するようには設計されていない。