シーンについて
STG-ONUXMLではシューティングゲームにおける画面の大きな切り替わりをシーンという形で分割して処理しています。このシーンは正負の整数を用いて表現されます。ゲーム起動時にはまずシーン1から始まります。また、シューティングゲーム本体は負の数のシーンになります。シーン0は現在表示されているシーンを指す特別なシーンになります。
また、シーンほど大きな画面の切り替わりではなく、少しの変化だけを起こさせたいときには子シーンというシステムを実装しています。
シーン定義ファイル(opening.xml)
ルートタグ scene
<scene>
<A>
<B>
<C>X</C>
<C'>X</C'>
</B>
<B'>x</B'>
</A>
</scene>
Aのタグ内にひとつのシーンを記述します。Aのタグ名はそのシーンの名前に当たりますが、実際にはその名前は使われず、先頭から1,2,3と番号が振られます。
Bのタグにはそのシーンで表示させたいオブジェクトを書きます。また、表示させるオブジェクトによってはCのタグでパラメータを設定するものと、直接Bの中に記述するものもあります。
子シーン
<scene>
<A>
:
</A>
<A event=
"X"
param="Y">
:
</A>
</scene>
子シーンは親のシーンを定義したすぐ後に、つづけて、event属性を付けて記述することで作成できます。
また、イベント属性にはその子シーンを表示する条件を書くことができます。通常のシーンの場合だと移動する際に前回のシーンは完全に消えてしまいますが、子シーンの場合だと消えずに上から描かれます。
子シーンでは通常のシーンと同じタグを使うことができます。
event属性
event
event=""
event属性はparam属性と一緒に使われます。
decide |
決定ボタンが押されたときに子シーンを表示。
param属性には0から順に何回目かを記述 |
time |
時間で自動的に表示。
param属性には何フレーム目で表示するかを記述 |
シーン内タグ
object
<object>タグ</object>
初期値:なし
オプション:loop
標準オブジェクトタグ
通常の画像を表示させたりするのに使う。パラメータをタグで定義する。
詳しくは標準オブジェクトタグ
の項で
POINT
<POINT>タグ</POINT>
初期値:なし
オプション:なし
得点オブジェクトタグ
得点を表示させたりするのに使う。パラメータをタグで定義する。
詳しくは得点オブジェクタグ
の項で
string
<string>タグ</string>
初期値:なし
オプション:なし
文字列オブジェクトタグ
システム内の文字を表示させたりするのに使う。パラメータをタグで定義する。
詳しくは文字列オブジェクトタグ
の項で
BGM
<BGM>タグ</BGM>
初期値:なし
オプション:なし
ゲーム中での音楽を指定する。パラメータをタグで定義する。ただし、現在使えるタグはfileタグのみで<file>ファイル名</file>のように指定する。
JUMP
<JUMP>1</JUMP>
初期値:なし
オプション:なし
おもに子シーンで使う。パラメータは直接このタグの中に記述。シーンを記述したシーンに強制的に飛ばす。
VALUE
<VALUE>var=1</VALUE>
初期値:なし
オプション:なし
おもに子シーンで使う。変数への代入式を書くことができる。
実行されるタイミングはそのシーンが表示される瞬間。