[RPGツクールMV Trinity]変数に文字を入れたい?制御文字で似たようなことができます!

2019年8月4日

Pocket

小さな我が家へようこそ。いろはです。

今回は「RPGツクールMV Trinity(ツクトリ)」で変数に文字を入れるような処理の仕方をご紹介します。

スポンサーリンク

変数

ツクトリの変数には数値しか保存(代入)できません。

でも、一般的なプログラミング言語と同じように、文字列を覚えさせられたら・・・そう思ったことはないでしょうか?

曜日を表示するサンプル

【方法1】単純な実装例

ここでは、宿屋に泊まった翌日の朝、「月曜日」と曜日を表示するようなケースを考えます。

単純に実装するなら、下記のような処理になると思います。
  1. 変数「曜日」=1の場合、「月曜日」を表示。
  2. 変数「曜日」=2の場合、「火曜日」を表示。
  3. 変数「曜日」=3の場合、「水曜日」を表示。
  4. 変数「曜日」=4の場合、「木曜日」を表示。
  5. 変数「曜日」=5の場合、「金曜日」を表示。
  6. 変数「曜日」=6の場合、「土曜日」を表示。
  7. 変数「曜日」=7の場合、「日曜日」を表示。
しかし、この場合、後で「(月)」のような表示に変えたいと思った場合、7箇所を修正する必要があります。
スポンサーリンク

【方法2】制御文字を利用した実装例

下記の記事でも触れた制御文字を利用する方法があります。
[RPGツクールMV Trinity]隠しアイテムの使い方を解説!選択肢を表示させよう!
<ちょっと復習>
制御文字「\V[n]」で変数ID「n」の変数の値、「\ni[n]」でアイテムID「n」のアイテム名を表示できます。
変数「temp(変数ID:1)」にアイテムIDを格納している場合、これを組み合わせて「\ni[\V[1]]」と書くとアイテム名が表示されます。
まずは下記のような隠しアイテムを作成します。
アイテムID アイテムの名前
上記のように隠しアイテムを作成しておけば、変数「曜日」の変数IDが2の場合、下記の処理だけで曜日の表示を切り替えられます
(変数「曜日」の数値の代入処理については説明を省略しています)
  1. 「\ni[\V[2]]曜日」を表示。
ちなみに、アイテム以外でも同じことができます。
内容 変数ID「n」の値のIDに該当する名前を表示させる書き方
アクターの名前 \N[\V[n]]
職業の名前 \nc[\V[n]]
アイテムの名前 \ni[\V[n]]
武器の名前 \nw[\V[n]]
防具の名前 \na[\V[n]]
スキルの名前 \ns[\V[n]]
ステートの名前 \nt[\V[n]]
アクターが少なければアクターを文字表示に利用するなど、作成しているゲームに応じて利用すると良いと思います。

【方法3】アクターの名前の変更を利用した実装例

方法2と同様、制御文字を利用する方法ですが、こちらは使用する変数を節約することができて、もう少し手軽にできます。

アクター「temp」のIDが2の場合、下記の処理で曜日の表示を切り替えられます
  1. 変数「曜日」=1の場合、アクター「temp」の名前を「月」に変更。
  2. 変数「曜日」=2の場合、アクター「temp」の名前を「火」に変更。
  3. 変数「曜日」=3の場合、アクター「temp」の名前を「水」に変更。
  4. 変数「曜日」=4の場合、アクター「temp」の名前を「木」に変更。
  5. 変数「曜日」=5の場合、アクター「temp」の名前を「金」に変更。
  6. 変数「曜日」=6の場合、アクター「temp」の名前を「土」に変更。
  7. 変数「曜日」=7の場合、アクター「temp」の名前を「日」に変更。
  8. 「\N[2]曜日」を表示。
方法1の直接「月曜日」と表示する方法とあまり変わらないように見えるかもしれませんが、後で「(月)」の表示に変えたいと思った場合、1箇所を修正するだけで対応できます。

ただ、何度も同じ文字列の代入処理を行う必要がある場合などは、方法2で実装した方が処理を共通化できます。

まとめ

文字表示の切り替えパターンが2~3種類程度であれば、方法1でも問題ありません。
ただ、文字表示の切り替えパターンが多い場合は、制御文字で処理を共通化できるので、状況に応じて使い分けると良いと思います。

ちなみに、方法2と同じように「\MS[\V[n]]」と書くと、変数の値に応じて文章の表示速度を切り替えることもできます。
(一括表示させたい場合は0、それ以外は1~60を変数に代入)

ご参考になれば幸いです。

ツクール広場に作品を投稿していますので、よかったら遊んでみてください。
下記の記事でご紹介しています。
よかったら下記の記事もどうぞです。
以上、いろはでした。
スポンサーリンク

Pocket