マクロで名前表示する:Almightに触れる5
キャラクターの名前を表示する部分を作りましたが、あれではあまりに書く量が多いので、あれをマクロにしてみようと思います。
使用している画像素材はフリーのものです。
びたちー素材感 URL http://www.vita-chi.net/sozai1.htm
ゆんフリー者新素材集 URL http://www.yunphoto.net
マクロの使い方はAlmightのチュートリアルに書いてあります。
基本的な形はマクロに名前を付けて、そのマクロに色々と処理を書き込んで、そのマクロ名を書くだけでいつでもそのマクロの処理が引き出せるというもの。
試しに書いてみると
@macro name="マクロ名" 処理 @endmacro
という形になる。
この形に、キャラの名前を表示させる処理を入れ込んでしまえばよいだけです。
macro.ks を開き、ページの一番上にでも
@macro name="name" @current layer=message1 page=fore @nowait @style align=center キャラ1 @endnowait @resetstyle @current layer=message0 page=fore @endmacro
と書きます。
そして first.ks の方に
@name キャラ1です。[c]
とでもかいてみます。
とても簡単です。
ですが、この書き方だとこの name というマクロはキャラ1としか表示できなず、汎用性がありません。
そこでどんなキャラにも対応できるように書き換えたいと思います。
マクロの中でキャラ1と書いてある部分を、chタグを使って書き換えます。
chタグはテキストを表示させるためのもので、普段は使用しません。
また、chタグは nowait と同じ動きをするので、今回はマクロの中の nowait と endnowait を消しておきます。
chタグの使い方は
@ch text=キャラ1
という具合で、この場合はtextにキャラ1という言葉を入れて、それを表示するというものです。
今回は汎用性を持たせたいので、chタグをこうかきます。
@ch text=%text
そして実際にマクロを使うときは
@name text=キャラ1
という風になります。
これでchタグのtextへ、%textに渡されたキャラ1という文字列が入ることになります。
%の後は好きな言葉を使っていいので
@ch text=%abcd
としたって全くかまいません。
そしてマクロとして使うときは
@name abcd=キャラ1
という具合になります。
それでは実際に組み合わせてみます。
@macro name="name" @current layer=message1 page=fore @er @style align=center @ch text=%text @resetstyle @current layer=message0 page=fore @endmacro
erタグを使っていますが、これはレイヤーの文字を消去するものです。
もしこのマクロを使うときに文字が残っていたら、その文字の後にキャラの名前がついてしまいますから、一応入れておきます。
そして first.ks の方には
@name text=キャラ1 キャラ1です[c] @name text=キャラ2 キャラ2です[c]
と書きます。
これで汎用性のある名前を表示するマクロができました。
マクロを自分で色々と作るのは、なかなか楽しいですね。