皆さん、こんにちは!ノベルゲーム制作、楽しんでますか?
ティラノビルダーでゲームを作っていると、 [ptext]
タグでセリフをたくさん書くことになりますよね。
でも、同じようなセリフを何度も書いたり、ちょっとだけ違うセリフを何度も書いたりするのって、結構面倒じゃないですか?
そこで今回は、 マクロと変数を使って ptext
のテキストを効率的に管理するテクニック をご紹介します!
この方法を使えば、
- 同じセリフを使い回すのが楽になる!
- 条件分岐でセリフを簡単に切り替えられる!
- 後からセリフを修正するのが簡単になる!
など、たくさんのメリットがあります。
ぜひ、この記事を参考にして、ゲーム制作を効率化してくださいね!
通常メッセージとは別にテキストを表示する[ptext]タグ
ノベルゲームやアドベンチャーゲームを作っていると、通常のメッセージとは別にテキストを表示させたいことが多々あります。
たとえば、「30階」のように現在のいる場所を表示したり、「所持金:3000G」のようにステータスを表示させたりすることがよくあります。
通常のメッセージとは別にテキストを表示する場合、ティラノスクリプトでは、 [ptext]
タグを使うのが便利です。
例えば、
[layopt layer=1 visible=true]
[ptext layer=1 x=100 y=200 color=yellow text=こんにちわ! size=30 bold]
と書くと、座標x:100、y:200の場所に、黄色の太字で「こんにちは!」というテキストが表示されます。
[ptext]
タグはレイヤーの指定が必須のようなので、 [ptext]
タグの前に[layopt]
タグでレイヤーを指定しています。
このように、メッセージとは別にテキストを表示する [ptext]
タグはとても便利です。
マクロと変数で[ptext]タグをさらに便利に!
[ptext]
タグはとても便利ですが、現在地を表示するために繰り返し同じ記述をしていったのに、あとから仕様が変更になった……なんてことになってしまったら困りますよね。
これまで記述した[ptext]
タグの設定を、いちいち修正しなくてはならなくなります。
こうした問題を解決するために、マクロと変数を活用しましょう。
変数にセリフを格納しておき、マクロでその変数の値を [ptext]
タグに渡すことで、セリフを動的に変更することができます。
マクロの作成方法
具体的なマクロの作り方を見ていきましょう。
[macro]タグを作成する
「マクロ」とは、ある処理をまとめたものを1つのタグで呼び出せるようにできる機能です。
RPGツクールでいうところの、「コモンイベント」に近い機能かもしれません。
このマクロを使う場合は、[macro]
タグで呼び出したいコードを囲います。
そして、公式ページが推奨するように、この記述をfirst.ksの最初に記述しておくと、その他のページでマクロを呼び出すことができます。
今回は下記のコードを記述しました。
;macro定義
[macro name=tate]
[ptext layer=1 x=100 y=200 color=yellow text="%text" size=30 bold]
[endmacro]
これで以下のような設定ができました。
- tateという名前のマクロを定義:
[macro]
タグにname属性をつけることで、マクロの名前を定義することができます - textという変数でptextのテキストを管理:パラメータの値の先頭に%を付けると、マクロに渡されたパラメータの値を流用できます。
定義したマクロを呼び出そう!
マクロの定義が終わったら、テキストを表示させたいシナリオのファイルを開き、マクロを呼び出します。
たとえば、「うまくいったかな?」というテキストを表示させる場合は、下記のコードを記述します。
[layopt layer=1 visible=true]
[tate text="うまくいったかな?"]
マクロを呼び出すときは、[macro]タグのname属性に記述した文字を書くだけで大丈夫です。
先ほどの例では、「tate」という名前を付けたので、[tate]
という記述だけでも、マクロを呼び出すことができます。
ただし、今回は定義したマクロの中に変数が含まれているので、変数を引き渡さなければなりません。
マクロに変数を引き渡す場合は、[tate text="うまくいったかな?"]
のように記述します。
これで共通して使うptextタグの設定を1つのマクロに定義し、変数を引き渡すことでテキストを変えられるようになりました!
まとめ
今回は、マクロと変数を使って ptext
のテキストを動的に変更する方法をご紹介しました。
この方法を使えば、セリフの管理が効率化され、ゲーム制作がよりスムーズになります。
ぜひ、この記事を参考に、マクロと変数を活用してみてください!