制作部のクモナガです。
現在当店では、新製品の開発として、
ゲーム制作を行っております。
開発環境のメインはティラノビルダーというツールですが、
せっかくのGUIメインのツールに、
ティラノスクリプトでコードをゴリゴリ書いております。
この記事では、調べて分かった落とし穴っぽいことを、
自分の備忘録兼同じ悩みを抱えた方々への助けとして
記録を残します。
【マクロのローカル変数をHTML5で使うには?】
ティラノスクリプトでは[html]タグを使うことによって、
画面上の文字・画像・ラジオボックス・プルダウンメニューなどなど
HTML5で記述することが可能です。
他の方法で文字を表示しようとすると、
[nowait]タグを用いたり、文字表示時間を0にしたりしても
変数の表示などでどうしてもラグが生じるのですが、
HTML5を使うとラグなしでパッと表示してくれます。
これを知ってから、何でも[html]タグ頼みになりましたw
そんな素敵な[html]タグにも困ったことがありました。
[macro name="viewstatusdetail"]
[html]
[emb exp="mp.who"]
[endhtml]
[endmacro]
というマクロを作っておいて、
[macro who=14]
と呼び出すとエラーが発生してしまうのです。
どうやら、[html]タグの中でマクロのローカル変数は効かないみたいです。
ということで、htmlタグを実行する前に、グローバル変数へ
値を渡すことで解決しました。
[macro name="viewstatusdetail"]
[eval exp="mp.who = f.viewnpc"]
[html]
[emb exp="mp.who"]
[endhtml]
[endmacro]
もしかしたら、[html]タグ以外の、他の関数の中で使おうとしても同じなのかもしれません。
モノになって、皆様へお届け出来る日が来るようがんばります。