[GameDev]イベントスクリプト解析 その1

けもさば死んでたけど生き返った…。

最低限進める分のイベント命令は実装終わったので、
外部XMLファイルからのイベント実行。

要件は以下。
・XMLファイルの読み込みと解析
・命令の逐次実行
・イベント内で他イベントへ移動(ジャンプ)
<-ここから新規機能->
・プログラム内からXML直打ちでのイベント実行
・命令の並列実行
・XMLの階層構造対応
・イベント内で他イベントを呼び出し(コール)

XML直打ち実行

命令の取りまとめをイベントベースでできるようにし、プログラム側で記述したXML文を命令として実行できるようにする。
例)ジャンプ
・キャラをジャンプ画像に切り替え
・Tween移動
・移動後、キャラを着地画像に切り替え
・土埃エフェクトをキャラの位置で再生
…といった感じ。先に控えてるバトルも視野に入れて、やりやすいように。

命令の並列実行

歩かせながらメッセージ表示とか、複数キャラを同時に動かすとか。
あわせて、並列実行しているイベントが終了するまで待ち合わせる処理も実装する。

XMLの階層構造

<if/>~<endif/>で括っていたif文を、<if>~</if>の形式に。
ぶっちゃけ特に深い意味はない。

イベントコール

一方通行だったjump命令に加え、終了後元の位置に戻るcall命令を追加する。
命令一覧をスタックに積んで、上端の命令から実施、上端の処理が終わればポップする…的な。


 

ということで、命令のスタックまでは完了。