[前編はこちら]
実はこれはかなり便利な機能です。 自分が楽になるばかりではなく、ソースの量もうまくいけばかなり減るはずです。 サブルーチンとは、プログラムが行う行動のマニュアルといえます。例えば前編 に掲載されている、「サブウィンドウを作る」で使用するソースですがあの動作を何度も行うと、
[current layer="message1"] |
[position layer="message" visible="false"] |
*call_swindow |
*leave_swindow |
[return]
と書かれていることですが、これは指示を受けた場所に
戻りなさい。という意味です。これについては下のソースを見てください。
;メッセージレイヤーの設定 |
注目すべきはcallタグです。これはtarget
で指定したサブルーチンを呼び出す(使用する)タグですが、
サブルーチンの[return]
は、そこに戻る役割を持つのです。
Tip
なぜサブルーチンにreturnタグを記述するのでしょうか?
ためしに該当の行を;でコメントアウトしてみると分かりますが、通常ソースは水のように上から下へ進みます。なので
returnタグが無いと、次の行、つまりサブルーチンの次に書かれたソースへ進んでしまうのです。これはリンクで選択肢を表示
させるときに |
Tipサブルーチンは何度でも呼び出して使用することができるので非常に重宝する機能ですが、 ソースが長くなるとサブルーチンをどこに記述したか分かりにくくなってしまうことがあります。 それを防止するためには、サブルーチンをソースの一番最後の部分にまとめて記述しておくと良いでしょう。 |
マクロとサブルーチンは働きを見る限り同じようで、本当は全く異なるものです。 サブルーチンは事前に指示されたこと意外は何もできませんでしたが、マクロは事前の指示に加え 後から指示を追加することができます。ここでは簡単にマクロの使い方を紹介していきます。 では下のソースを見てください。
[macro name="date"] |
このソースでマクロと呼ばれる部分は[macro name="date"]
から[endmacro]
にはさまれた部分で、
この場合、マクロの名前は"date"です。
そして、マクロを呼び出しているのが[date m="12" d="30"]
の部分です。
作ったマクロは通常のタグと同じように使えるのです。
そして、追加記述も自分で作ることができます。例でいうmとdです。この追加記述に書かれた文字は、
マクロの%m、%dへ当てはめられます。マクロで%〜とした部分には後から代入できるのです。
代入するには、%〜とした〜の部分を追加記述として使用します。
しかし、そうするとサブルーチンと比べて
毎回追加記述を書かなければならず、面倒になる場面も出てきます。そのような場合のために、マクロに
標準の値を決めておくこともできます。標準の値を記述するには%hogehoge|標準値
とします。
一度に言われると混乱してしまうかもしれませんが、まとめて例を見ましょう。
[macro name="date"] |
上のソースを実行すると、背景が画面切り替えの効果を行いながら変更され、日にちが表示されます。
指定できるのは、背景の画像ファイル名と日付の数字です。[date m="12" d="30"]
として数字が代入されているのが
確認できると思います。そしてimgは指定していません。
背景画像ファイルは標準値が存在しているのでマクロ実行時に追加記述を行わなくても
実行が可能となっています。変更したい場合のみに記述すればいいのです。
Tip上のソースに登場したchタグは文字を表示させる働きを持ちます。 私達が通常表示してきた文字も、chタグで囲まれた状態と同じように処理されているのです。 |
Tip
マクロに値ばかりではなく、記述そのものを後から代入したい場合は*を書きます。 |
[次へ進む]
Back to the Lesson([top]>[Lesson]>[Lesson12 アペンドスキル後編])