前回までkag.addTagについて紹介しましたが、似たような関数にkag.insertTag()があります。
kag.addTagとkag.insertTagの違いは登録されたタグの実行される順番です。addTagでは一番最後に登録されますがinsertTagは一番最初に登録されます。
function flashMessage() { /* 以下のタグを登録 * @msgoff time=500 * @msgon time=500 * @waittrig name=flash_message */ kag.insertTag("waittrig", %[ name:"flash_message" ]); kag.insertTag("msgon", %[ time:500 ]); kag.insertTag("msgoff", %[ time:500 ]); // triggerでコンダクタの実行を再開 kag.trigger("flash_message"); }
前回のflashMessageとほぼ同じですがaddTagの代わりにinsertTagを使っています。insertTagの場合はタグが先頭に追加されていくので後から登録したものが先に実行されます。なのでwaittrig, msgon, msgoffの順に登録しています。
タグの機能を呼び出したいだけならkag.addTagで十分です。先に登録したものが先に実行される方がわかりやすいと思います。何か複雑な機能を作る場合にはinsertTagを使うこともありそうなので一応覚えておいた方がいいかもしれません。