ページリスト

2016年12月18日日曜日

ティラノスクリプト備忘録「マクロのローカル変数をHTML5で使うには?」

制作部のクモナガです。

現在当店では、新製品の開発として、
ゲーム制作を行っております。

開発環境のメインはティラノビルダーというツールですが、
せっかくの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]タグ以外の、他の関数の中で使おうとしても同じなのかもしれません。

モノになって、皆様へお届け出来る日が来るようがんばります。