スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

カテゴリ : スポンサー広告

マクロでmpを使う

KAGでは変数が3種類用意されています。
ゲーム変数(f)、システム変数(sf)、一時変数(tf)の3つです。
ここではそこまで遡って説明はしません。

マクロの中では、その他にmpという変数が使えます。


実際に使ってみます。
@macro name="テスト用マクロ"
@emb exp="mp.text"
@endmacro

@テスト用マクロ text="あいうえお"

[テスト用マクロ]の働きは、text属性に渡された文字を表示するだけです。
このスクリプトを実行すると、「あいうえお」と表示されます。
マクロの中身は一行だけで、[emb]タグで変数mp.textを表示させているだけです。
要するに変数mpの中には、マクロの属性に与えられた値が代入されています。
今回はtext="あいうえお"としているのでmp.textの中身が"あいうえお"となります。


mpは%とは異なります。以下のスクリプトはエラーとなります。
@macro name="テスト用マクロ"
@emb exp="%test"
@endmacro

@テスト用マクロ text="あいうえお"

mpは、属性に与えられた値が入った"変数"として使えます。
それに対して、%は属性に与えられた値に置き換えられるだけです。
[emb]タグは変数をシナリオ中に表示させたい場合に使います。
上のスクリプトがエラーになるのは[emb exp="あいうえお"]がエラーになるのと同じです。


%を使って文字を表示するには以下のようにしなければなりません。
@macro name="テスト用マクロ"
@ch text="%text"
@endmacro

@テスト用マクロ text="あいうえお"

chタグではtext属性に変数ではなく文字列を指定するので、%を使うことができます。


chタグでmpを使う事も出来ます。
@macro name="テスト用マクロ"
@ch text="&mp.text"
@endmacro

@テスト用マクロ text="あいうえお"

TJS式を指定する属性(expなど)以外の属性でtjs式(大抵fやsfなどの変数)を使うときには&(エンティティ)をつかうのでした。
mpでもそれが使えます。


長々と書きましたが知っといたほうがいい事としては、
・マクロの中ではmpという変数が使える。
・mpにはマクロに与えられた属性の値が代入されている。
・mpはfやsfなどと同じように使える。
ついでに言うとmpは栞には保存されません。
マクロの中ではセーブ可能なラベルを書けないので、マクロの中でしか使えないmpが保存されないのは当然です。


mpの使用例
pbgmマクロ(2) - ファイル名を変えてしまう
pbgmマクロ(3) - 配列の利用
スポンサーサイト

タグ : 吉里吉里 KAG TJS 講座

カテゴリ : KAG

コメントの投稿

非公開コメント

最新記事
カテゴリ

openclose

記事一覧
Twitter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。