前回紹介したkag.addTagの動作をもう少し詳しく説明します。
function playBgm() { // @bgm play=bgm01 というタグを登録 kag.addTag("bgm", %[ play:"bgm01" ]); System.inform("System.informが実行されました"); }
@linemode mode=vn @eval exp="playBgm()" bgmを再生開始しました。
kag.addTagは「コンダクタに次のタグを登録する」ための関数です。この例では、”System.informが実行されました”と表示された後にbgmが再生されます。addTagで登録されたタグが実行されるのは、playBgm()の実行が終わって[eval]タグの次のタグを実行するタイミングです。
コンダクタの動作については簡単なコンダクタの話を参照してください。この記事で言われている「; 次のタグを探す」の部分では、まずkag.addTagなどで登録されたタグがないか探します。登録されたタグが無ければksスクリプト上で次のタグに進みます。このような仕組みのため、上の例では[eval]タグの実行が終わって次のタグを探し実行されるタイミングにbgmが再生されます。
コンダクタの動作ついてもっと詳しい説明は次回の記事に続きます。
ピンバック: KAGEX拡張例(kag.addTag) - Biscrat Blog
ピンバック: KAGEX拡張例(コンダクタの停止) - Biscrat Blog