やさしいウディタ講座6:変数の中身を変えるときの基本ルール

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

前回「やさしいウディタ講座5:変数を使ってイベントを変化させよう」では、ウディタのゲーム開発で欠かせない「変数」の超基本的な使い方を解説しました。

今回はもう少し具体的に、変数の仕組みを紹介。変数はどんな風に中身が変化するのか?そこんところをお話します。

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

変数の扱い方

ウディタの変数をどう扱ったらどうなるのか?

前回の「やさしいウディタ講座5:変数を使ってイベントを変化させよう」で、実際に変数を使った簡単なイベントを作成する様子を紹介しています。

ごくごく一部の使い方ではあるんですが、変数について全く知識のない人でも、手を動かしながらどんなものなのか理解できるかと思います。

何もわからない人の場合、まず前回記事をお手本にイベントを作るのがおすすめです。

変数ってそもそも何なの?

何かをやりたいとき、何かを表示させたいときの「判断に使われるもの」…と言ったら良いでしょうか。

変数には、中身があります。中に入れられるのは数字と文字。

この中身を見て、イベントの発生内容を分岐させたり、文字を表示させたりできるんですね。

  • 変数Aが「1」のとき→イベントBを実行。
  • 変数Aが「3」のとき→マップDへの移動を許可する。
  • 変数Sが「みかん」→「みかん」を画面に表示。

上の例ばかりではないんですが、このような使い方をすることが多いです。

何となく信号機に似ている気もしますね。「信号が赤なら止まれ」「信号が青なら進め」みたいな。信号が変数で、赤や青が中身。そんな風に例えるとイメージしやすいかもしれません。

変数の中身を変えるには計算式を使う

ウディタで使える変数には、中身を変えられるものが存在します。

中身を変えるときに使うのが計算式。=や+、-や×、÷など、算数でおなじみの記号を使い、変数に数字や文字を入れます。

これはウディタのイベントコマンド入力画面、「3 変数操作」の部分を見るとわかります。

ウディタ イベントコマンド入力 変数操作

  • =:代入
  • +=:加算(足し算)
  • -=:減算(引き算)
  • ×=:乗算(掛け算)
  • ÷=:除算(割り算)
  • %=:余り(割り算で余った値)

他にもありますけど、基本的に上の6つを知っていれば十分です。%=はちょっと特殊なので、最初のうちは代入~割り算を覚えれば良いでしょうね。

最もわかりやすくて一番使う代入

代入は、=記号の右側(右辺)に記述した数字や文字を、そのまま入れる計算式のこと。

変数A = 10

上の例だと、「変数A」という変数に代入(=)を使って、数字の「10」を入れています。

変数Aは「10」が入った状態に変化しました。

その後、次の操作をしたら変数Aの中身はどうなるでしょう?

変数A = 5

正解は「5」です。

5を代入したことにより、変数Aの中身が書き換わったからです。その前に入れた10は残りません

10に戻したかったら、

変数A = 10

という風に、もう一度数字を代入します。

+=や-=など、変な記号の意味は?

ウディタの変数操作の画面をよく見ると、変わった記号が出てきますよね?

ウディタ 変数操作

=はわかるんですが、

+=

-=

×=

÷=

=の前に、なぜ記号がついているんだ??」って感じです。

足し算なら「3+4」のように書くのが普通。どうしてなんでしょう?

実は上のような書き方なんですが、+=を例にすると、左辺の変数に右辺の数字(文字)を加える、という意味を持っています。

つまり、以下の書き方は全く同じ。どちらも同じ結果になります

  • 変数A += 10
  • 変数A = 変数A + 10
  • 変数A -= 20
  • 変数A = 変数A - 20

単純に書き方を省略しているだけです。

一般的なプログラミングの世界でも、この書き方が頻繁に使われます。ちょっと変わっていますけど、そういうものなんだと思って使いながら慣れてください。

変数操作の右辺で右側のやつはどうやって使うの?

ウディタの変数操作の画面を見てください。

ウディタ 変数操作 右辺

右辺の左側部分に1とか-2とか入れると、変数に数字を代入したり、足し算したりできます。

気になるのは右側の部分。

ウディタ 変数操作 右辺

ここって何に使うんだ?なんですが、左側に入力した数字に対して計算したいときに使います。

  • 変数A = 1 + 変数B
  • 変数A += 90 - 変数B

ウディタ 変数操作

ちょっと複雑な計算式を使う際に、指定する感じです。

右側を使わない場合、+と0にしておけばオッケー。

ウディタ イベントコマンド

少し変な表示ですけど大丈夫。0を何度足しても、元の数字は何もかわらないからです。

変数同士の計算もできる

ここまでは変数に直接数字を用いて計算していましたが、変数だけを使った計算も可能です。

  • 変数Aの中身が「1」
  • 変数Bの中身が「5」

だったとします。

変数A += 変数B

ウディタ 変数操作

この結果、変数Aの中身は「6」に変化します。変数Aの中身「1」に変数Bの中身「5」を足し算したからです。

  • 変数Aが「50」
  • セルフ変数0が「-100」

で、代入した場合

変数A = セルフ変数0

結果は変数Aの中身が「-100」に変化します。代入でセルフ変数0の「-100」に書き換えたので、変数Aが持っていた「50」は消滅します。

数字用の変数に文字は入れられない

変数には、数字と文字を入れられると説明しました。

しかし、ウディタの変数には入れられるものが予め決まっています。

「数字用」と「文字用」の変数は別々に用意されている

  • 「数字用の変数」には、数字(計算に使える数字)だけ。
  • 「文字用の変数」には、文字(文字として扱う数字も含む)だけ。

作るゲームにもよりますけど、ウディタの場合、数字用の変数を作ったり操作したりするケースが大半です。文字用の変数の扱いは、中級者~上級者向けかもしれません。

文字を入れられるのは、「文字列変数」という種類の変数です。

イベントコマンド入力の「5 文字列操作」で編集できます。

ウディタ 文字列操作

ウディタに存在する「数字用の変数」の種類については、次回の講座で紹介します。

「文字として扱う数字」って?

数字が文字?数字は数字じゃないの?」と疑問に思った人は鋭いです

文字列変数に半角数字の5が入っているとしましょう。ところが、この「文字列変数に入れた5」は「数字用の変数に入れた5」とは性質が違います

なので、文字列変数の5を使って、数字用の変数もしくは数字との足し算や引き算などはできないと考えてください。

  • 変数B(数字用の変数)= 変数A(数字用の変数)+ 文字列変数(中身が半角数字の5)
  • 変数B(数字用の変数)= 10 + 文字列変数(中身が半角数字の20)

上のような計算はできません

本当のところ、「数字用の変数」は「数値用の変数」というのが正しいんでしょうけど、この講座では誰にでもわかりやすくするため、一般的な「数字」の言葉を使っています。

一方で、文字同士の計算には使えます

文字列変数A(中身は「刺し身」)+= 文字列変数B(中身は「10人前」)

答え】文字列変数A(中身は「刺し身10人前」)

足し算の例だと、文字の後に別の文字を付け加え、合体させることが可能です。

そんな性質を持った文字列変数ですが、ゲーム画面への表示には問題なく使えます。データベースの操作やイベントコマンドの「文章の表示」「ピクチャ」などで可能です。

ちなみに数字用の変数でも、特殊な書き方で変数の中身をゲーム画面に表示できます。

ウディタ ゲーム画面

文字列変数A(中身は「太平洋」)をゲーム画面に表示した場合。

ウディタ ゲーム画面

「数字用の変数A(中身は「10」)」をゲーム画面に表示した場合。文字列変数と同じように、問題なく表示させることができます。

  • ゲーム画面への表示は、どちらの変数でもできる。
  • 一般的な数字の計算では、文字列変数が使えない。
  • 文字同士なら、計算式を使った操作ができる。

初心者さんは無理せず数字用の変数操作に慣れよう

上で解説したように、文字列変数には癖があります。なので、中級者~上級者向けかなと個人的に思ってみたわけです。

ウディタ初心者さんがいきなり文字列変数にチャレンジすると、挫折する可能性が大です。

まずは単純でわかりやすい、数字用の変数を使いこなすことに専念しましょう。

次回の講座は?

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

次回「やさしいウディタ講座7:変数の種類と使うことのできる範囲」も変数の話。ウディタの変数の種類と、種類によって違う変数の使える範囲について解説します。

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