記述の規定
シーンスクリプトの記述
シーンスクリプトでは、ウィンドウに表示するテキスト以外には原則として半角英数小文字を使用します。
リファレンスに載っているコマンドは大文字で表記しても動作しません。
※ファイル名・ラベル名の指定は大文字小文字を区別しません
各コマンドを記述するときは、テキストとの間を1行空けてください。
テキスト行に続けて書くと、コマンド実行のタイミングがおかしくなることがあります。
オブジェクトタイプとバンク
以下は一般的なスクリプト記述の一例です。
画像やプレーンに命令(コマンド)を与える場合は、「オブジェクトタイプ」と「バンク」で指定します。
例:
cg 1 ba01,1,1,1,2,1 rdraw 10 wait cg 1 arc 30 180 360 0 14 wait
cg 1 のうち、cg を「オブジェクトタイプ」(単にタイプとも)、その後の1を「バンク」と呼びます。
タイプは命令(コマンド)を与える対象の代名詞といえます。
タイプにはいくつかの種類があり、さらにそれぞれがバンクを持っています。
バンクはそのタイプの何番目を使うかです。
イメージファイルとサウンドファイルは、データを読み込む時点でタイプとバンクを設定します。
以降、命令を与える場合、ファイル名ではなくタイプとバンクで指定します。
タイプの種類:「」がタイプ名、()がバンク数
- イメージ系・・・画像ファイルに使用可能
- 「bg」(0〜5)主に背景用
- 「cg」(0〜5)主にキャラクター立ち絵用
- 「fg」(0〜5)主に漫符(感情表現画像)用
- 「eg」(0〜5)主に画面効果用
- 「fw」(0〜2)フェイスウィンドウ専用
- サウンド系・・・音声ファイルに使用可能
- 「bgm」(0〜1)BGM用(自動でループ再生)
- 「se」(0〜9)効果音用
- 「pcm」(0〜9)ボイス用
- プレーン
- 「pl」(0〜31)
※プレーンの詳細は「プレーンの基本」を参照してください
fw を除くイメージ系タイプに「主に〜〜用」とありますが、本来と違う用途に使用しても問題ありません。
例えば立ち絵を7人表示させたい場合などは、cgのバンク数が足りないので eg や fg で代用します。
サウンドは原則的にそれぞれ指定されたタイプを使用してください。
プライオリティ
イメージ系タイプとプレーンには、「描画優先順位(プライオリティ)」が設定されています。
この値が大きいほうが、より画面の手前(上)に描画されます。
原則として、同じタイプ内ではバンクの数が大きいほうがプライオリティが高くなります。
同イメージタイプ内でのプライオリティ
【bg】: bg 0 < bg 1 < bg 2 < bg 3 < bg 4 < bg 5
【cg】: cg 0 < cg 1 < cg 2 < cg 3 < cg 4 < cg 5
【fg】: fg 0 < fg 1 < fg 2 < fg 3 < fg 4 < fg 5
【eg】: eg 0 < eg 1 < eg 2 < eg 3 < eg 4 < eg 5
タイプごとのプライオリティは少し変則的です。
イメージタイプ別のプライオリティ
bg < cg < fg < eg
基本は上記のとおりです。
この四つのタイプでそれぞれ同じバンクを使用した場合は、このように重なります。
ただし、バンクまでを含むとこのとおりにはいかなくなります。
全イメージタイプ・バンクのプライオリティ
bg 0 < bg 1 < bg 2 < bg 3 < bg 4 < bg 5 <
cg 0 < fg 0 < eg 0 < cg 1 < fg 1 < eg 1 <
cg 2 < fg 2 < eg 2 ...
bg はバンクに関わらず、他の各タイプのどのバンクよりも奥(下)に表示されます。
それ以外は、各バンクごとに「cg < fg < eg」と繰り返します。
●プレーンのプライオリティ
各イメージを読み込むと、必ず一度「プレーン」に描画されます。
最終的な画面表示時の重なり順は、このプレーンのプライオリティで決定します。
イメージタイプのプライオリティは、同プレーンに描画したときの重なり順と考えて下さい。
イメージ読み込み時に指定がない場合は、VRAM定義ファイルの「イメージ初期値」で指定されたプレーンへの描画となります。
プレーンのプライオリティ(括弧内はその数値)
pl 0(5000)< pl 1(6000) < pl 2(7000) < pl 3(8000) ... < pl 31(36000)
プレーン自体のプライオリティは、各イメージタイプと同じくバンク順です。
「bg 0」を「pl 3」に、「eg 5」を「pl 0」に描画した場合はbg 0が手前となって表示されます。
バンクの複数指定
タイプとバンクを指定するコマンドは、バンクNoを[ ]で括ることで複数指定することができます。
- [min-max]
- min〜maxまでのバンクに適用
- [n1,n2,n3...]
- バンクNo、n1,n2,n3... に適用
※現在、以下のコマンドには対応していません。
- イメージロード・矩形イメージ作成
- プレーン作成
- サウンド系全般
三つ以上の連続するバンクを指定する場合は「-」で、連続しない場合は「,」で繋ぎます。
例:
bg [1-4] pos 0 0 0 // bg 1〜4のposを変更 bg [0,3] pos 0 0 0 // bg 0と3のposを変更
[0,2-4](0と2〜4)といった指定はできません。[0,2,3,4] としてください。
時間の指定
コマンドの中には時間指定が可能なものがあります。
時間の指定には「フレーム(frame)値」を使用します。
1フレーム = 1/60秒
色の指定
色の指定が必要なコマンドは「ARGB」で記述します。
A・・・α値/0(透明)〜255(不透明)
R・・・赤の割合/0〜255
G・・・緑の割合/0〜255
B・・・青の割合/0〜255
ほとんどが「$ffffffff」のように16進数での指定になります。
一部のコマンドではA・R・G・Bの並び順が異なるので注意してください。
サウンド系のコマンド
ボリューム
ボリュームを指定できる範囲は0〜100で、100がファイル上の元音量です。
スクリプトで元音量より大きく再生することはできません。
座標指定
サウンド系の座標はイメージ・プレーンとは異なります。
2Dの場合、「0」を中心点として「(左) -100 ← 0 →100 (右)」という指定になります。
3D再生位置での指定の場合、単位はm(メートル)になります。
※Direct3Dサウンドを使用していない場合、Y、Z軸への指定は効果がありません。
再生位置のx,y,zすべてが省略されるとセンター位置(0,0,0)で再生されます。これが通常の再生です。