やさしいウディタ講座7:変数の種類と使うことのできる範囲

無料のゲーム開発ツール「ウディタ(WOLF RPGエディター)」の基本的な使い方を、初心者さん向けに紹介するこの企画。

前回「やさしいウディタ講座6:変数の中身を変えるときの基本ルール」ではウディタで重要なポジションにある変数について、中身の変え方や基本ルールを解説しました。

今回は、ウディタに用意されている変数の種類についてのお話。実はこれ、種類によって使える範囲が違うんです。「あれ、どうしてこの変数って使えないんだろ?」そんな疑問の解決に役立つと思いますよ。

「やさしいウディタ講座」- もくじ
現在公開中の講座をまとめたページ。「ウディタのことがよくわからない」「簡単な機能から覚えたい」などの初心者さんは、初期の講座から読むのがおすすめです。
>>WOLF RPGエディター|公式サイト
公式サイトにはウディタの使い方を詳しく解説している、マニュアルやガイドが公開されています。ウディタを学ぶ際の必須となる教科書です。ぜひ参考にしましょう。

ウディタの変数の種類

利用者自身で自由に設定できるウディタの変数には、種類があります。大きく分けると以下の3つです。

  • システムデータベースの変数
  • セルフ変数
  • コモンセルフ変数

システムデータベースの変数

ウディタの「システムデータベース」にある変数です。ここで自由に変数を登録できます。

ウディタ システムデータベース

ウディタ システムデータベース 通常変数名 予備変数

  • 通常変数(数字を入れられる変数)
  • 予備変数1~9(通常変数と同じ)
  • 文字列変数(文字を入れられる変数)

この中で一番使うのが「通常変数」でしょうか?管理しやすい好きな名前をつけて、イベントコマンドの変数操作で中身を変えたり、見たりします。

名前は違いますけど、「予備変数」もほぼ同じものだと思ってください。通常変数と分けて変数を管理したいときに使うのが良いかもしれません。

文字列変数」には、「もも」とか「2日に北海道へ到着予定」とかの文字(文字列)を入れられます。

ウディタ システムデータベース 文字列変数名

ゲーム画面への表示用に扱うケースが多そうですね。

文字列変数の特徴については前回講座でも紹介しています。合わせて読むと理解が深まるでしょう。

>>【関連記事】:やさしいウディタ講座6:変数の中身を変えるときの基本ルール

セルフ変数

マップイベントが持っている、特別な変数です。セルフ変数の中には数字のみ入れられます。

ウディタ マップイベント セルフ変数

1つのマップイベント内に、セルフ変数0番からセルフ変数9番まで、全部で10個用意されています。

コモンセルフ変数

ウディタには「コモンイベント」という機能があります。

ウディタ コモンイベント

マップイベントとよく似ていますが、どこのマップからでも呼び出せるのが特徴の、便利なイベントです。

このコモンイベントですが、ウディタ初心者さんが扱うにはまだハードルが高い存在だと思います。

ウディタのことをあまりわかっていない人の場合、とりあえず今のところは「ふーん、そんなものもあるんだ~。でもよくわから~ん」ってな感じに、軽い気持ちで以下を読み進めてください。

コモンイベント内で使える変数が、コモンセルフ変数

1つのコモンイベントに、コモンセルフ変数0番からコモンセルフ変数99番まで、100個用意されています。

ウディタ コモンイベント コモンセルフ変数

  • コモンセルフ変数「0番~4番」「10番~99番」には数字を入れられます。
  • コモンセルフ変数「5番~9番」には、文字を入れられます。

100個あるコモンセルフ変数の中でも、0番~3番、5番~8番は、特殊な設定に利用できます(後でチョロっと説明します)。

なので、ごく普通に数字の変数を使う場合、10番以降のコモンセルフ変数を選ぶのが良いかもしれません。

種類によって異なる変数の性質

操作できる範囲が違う

ここまで、「システムデータベースの変数」「マップイベントのセルフ変数」「コモンイベントのコモンセルフ変数」の、3つを紹介しました。

3つの変数を使う場合に注意したいのが、それぞれの変数の影響範囲です。各変数の性質を知っていると、イベント作りで混乱しなくなります。

マップ内限定で有効な「セルフ変数」

セルフ変数の場合、そのイベントを配置したマップ内でしか機能しません

マップAに配置した「マップイベント1」、「マップイベント2」が持つ、それぞれのセルフ変数の場合、自身のものはもちろんのこと、お互いに中身を見たり変数の中身を変えられたりします。

ウディタ マップイベント

マップBに配置した「マップイベント10」、「マップイベント11」も、マップAと同じように、お互いのセルフ変数を操作できます。

ウディタ マップイベント

しかし、マップAマップBにそれぞれ配置したマップイベント同士のセルフ変数は、操作できません

ウディタ マップイベント

「起動条件」とセルフ変数の関係に注意!

同じマップ内にあるマップイベントの場合、お互いのセルフ変数の中身を見たり変えられたりしますが、マップイベントの起動条件に対してはこのルールが当てはまりません

起動条件で指定できるセルフ変数は、自分自身のものだけです。

詳しくは「やさしいウディタ講座11:条件分岐&変数で複数イベントを変える – 起動条件にできるセルフ変数は自分自身のものだけ」で解説しています。

コモンイベント内限定の「コモンセルフ変数」

どこのマップからでも呼び出せる、便利なコモンイベント。このコモンイベントが持つコモンセルフ変数は、そのコモンイベント内でしか通用しません

ウディタ コモンイベント コモンセルフ変数の性質

コモンイベントAのコモンセルフ変数の場合、コモンイベントA内であれば自由に使えます。

一方、コモンイベントAコモンイベントBのそれぞれが持つコモンセルフ変数は、お互いに操作できません

コモンイベントが発生しているマップに配置したマップイベントからも、そのコモンイベントのコモンセルフ変数を操作するのは不可能です

しかし、例外があります。

コモンイベントの画面、「入力の数/結果を返す」で設定した場合が当てはまります。

ウディタ コモンイベント 入力の数/結果を返す

コモンセルフ変数の0~3番、5~8番は特殊な設定のできる変数だと、上の方で説明したのを覚えているでしょうか?

特殊な設定は、この「入力の数/結果を返す」の部分で行えるんです。

実はこれらのコモンセルフ変数には、別のコモンイベントマップイベントから受け取った数字、もしくは文字を入れることが可能です

また、コモンイベントのコモンセルフ変数0~99の中身を、別のコモンイベントのコモンセルフ変数、もしくはマップイベントのセルフ変数などに渡すこともできます

(ヽ´ω`)…

ん…とまあ、難しい内容でげっそりしますね。上の説明を読んでも、よくわからない人が多いと思います。

この例外を使ったやり方は複雑なので、ウディタ上級者向けかもしれません(プログラミングの関数で記述する「引数」と「戻り値」を知っている人なら、何となくわかるかな?と思うんですが)。

なので、初心者さんがはじめから無理に覚える必要はないでしょう。

ウディタをたくさんいじっていて、必要になったときに覚えれば良いと思います。

どこからでも使える「システムデータベースの変数」

  • 通常変数
  • 予備変数
  • 文字列変数

システムデータベースにある上3つは、最も自由度の高い変数です

マップもコモンイベントも関係なく、どこからでも中身を見たり変えられたりできます

これら変数の使い方としては、根幹の部分でしょうか。

通常変数の中身の変化に応じて、各マップのイベントやコモンイベントの内容を一気に変化させる使い方ができます。

ゲーム全体の流れを変えられるほど、大きな影響力を持った変数って感じです。

名前をつけられる変数、つけられない変数

変数には好きな名前をつけられます。名前をつけることにより、この変数が何に使われているのか、わかりやすくなるのがメリット。

ただし、マップイベントのセルフ変数については自由に名前をつけられません。

名前をつけられる変数

  • システムデータベースの変数(通常変数・予備変数・文字列変数)
  • コモンセルフ変数(コモンセルフ変数0~99)

名前をつけられない変数

  • マップイベントのセルフ変数(セルフ変数0~9)

これを考えると、マップイベントのセルフ変数はあまり複雑なイベントに使わないほうが良いでしょうね。

名前をつけられないので、何に使われている変数なのか、わからなくなってしまう可能性が高いからです。

すぐに終わるような、あまり重要でないイベントで使うのがおすすめかもしれません。

次回の講座は?

やさしいウディタ講座7はここまで。

数回にわたって変数を解説しましたが、タイトルと違い、やさしい内容とは言えなかったかもしれません。

しかし、ウディタで面白いゲームを作るには必要不可欠な機能です。少しずつでも良いので、変数の基本を覚えてもらえたらなと思います。

次回「やさしいウディタ講座8:敵と戦うイベントを作ってみよう」では、RPGの定番!敵と戦うイベントを発生させるやり方について解説します。

「やさしいウディタ講座」- もくじ
※全講座の目次ページはコチラ。