RPGツクール技術部門

RPGツクールで学ぶjavascriptその1

2019/05/14

こんにちわ!yatsureです。




javascriptを使ってみません?

要はプログラミングしませんかって話なんだけど、まぁしないよね♨︎
僕は変数とコモンイベントを駆使する派だったし、そもそも僕のこのjavascriptの使い方が正しいのかもよくわからんまま使ってるし、
正直なんでも良いと思うんですけどね。

とはいえ、変数とコモンイベントが理解できてくると、ある一定の確率でプログラミングに興味が出てくる輩が出てくるんですよね。
なので、そういった僕と同じ気持ちになっちゃった人向けに、メッセージにも似た何かを残したいと思います。

だって、プログラミングの勉強サイトとか、何いってるかわからなくはないんだけど、なんとなく自分が欲しい情報と違う気がするんだもの。

プログラミングとは、変数を操作する為にある。

私は、こう結論付けています。
なので私は、例えばツクールの変数に対して、いろんな計算や条件分岐を設けたい時にjavascriptを使います。
この記事で問題に出していますが、こんな事をしたくなった時とかに。

でもプログラミングで書かれてると、結局何書いてあるかわからないじゃないですか。
ぶっちゃけ、簡単には読めるようにならないんです。
プログラミングって、「プログラミング言語」って言われているんですよ。そう、言語なんです。

例えば、英語で書かれた文章がすぐ読めるようになるかどうか。
コレと全く同じ理由で読めるようになりません♨︎

なので、包括的に全部を読み解けるようには正直ならないし、僕もいまだに全然意味わからないところが多々あります。
それでも、使うと便利だったりするので、変数+コモンイベントでやってる内容を、少しだけレベルアップするイメージでいてください。

プログラミングとの向き合い方について

ぶっちゃけ数学です。コレはよく言われてますね。
とはいえ、正直算数ができれば使えます
あとは、条件分岐ですね。

では早速、基本的な使い方から。

まず、ツクールでイベントを適当に作って、タブ3の右下にある「スクリプト」を選んで、中に

console.log("test");

と入力して、テストゲームしてください。
その後、F8を押して、イベントを起動すると、F8で出てきたウインドウの左上の方に

test

と表示されると思います。
コレで、プログラミングした結果がみれます。

プログラミングにも「変数」が存在します。

ツクールでは、主に数字が入れられますね。
javascriptにも、変数と言う概念があります。どう使うかと言うと

var hensu1 = 1;

変数宣言と言います。
因みに、hensu1と言うのは自分で決められます。所持金を入れるならsyojikinなど
自分がわかりやすいように決めちゃって良しです。
後、ツクールの変数は5000個までですが、コレは基本無制限ですし、「変数番号」と言う概念はありません。
コレを書いた後は

hensu1

だけで使うことができます。例えば、中身を変更したい時は

hensu1 = 5;

と書けば、hensu1の中身は5になりますし、

hensu1 += 10;

と書けば、hensu1の中身は15になります。
ツクールだと、変数番号が基本で、分かりやすいように変数の名前が決められますが、
プログラミングには変数の名前しかありません。

試しに、イベントのスクリプトを

var hensu1 = 1;
hensu1 = 5;
hensu1 += 10;

console.log(hensu1);

といった内容に書き換えてみてください。
そうすると、テストプレイを再起動後、F8を押して、イベントを起動すると今度は15と表示されるはずです。

コレが、プログラミングにおける、変数の概念であり、使い方です。
ツクールの変数と変わらないでしょう?

多分、ここまではプログラミングの勉強サイトで習える範囲です。序の口ですね。
そして、ここまでだと別にツクールの変数でええやんけ、となります。

では、何が違うのか、なんですが

プログラミングの変数は文字が入れられる

つまり、

hensu1 = "おお、勇者よ。金欠になるとは情けない";

こうしてconsole.log(hensu1);すれば、上記の内容が表示されます。
ご存知かと思いますが、イベントの文章表示に変数を指定できますよね?(ニヤリ

そうです。プログラミングからツクールの変数に内容をセットできますので

$gameVariables.setValue(1, hensu1);

をスクリプトの中に追記して、その後文章表示イベントを追加して、内容を

\v[1]

にすると、上記の文章が表示されるんです!!

これの何が便利かと言うと、文章を色々組み替えることができる点です。

例えば
hensu1 = "勇者";
var hensu2 = "金欠";
var hensu3 = "になるとは情けない";

var hensu4 = "おお" + hensu1 + "よ。" + hensu2 + hensu3;

$gameVariables.setValue(1,hensu4);

といった使い方ができます!
どうです?ちょっとワクワクしませんか?
もし、プログラミングで条件分岐できたら、複数の組み合わせが出来そうな香りがしませんか?

しませんよね。

だって、コレだけじゃまだ何も出来ませんもん。何を言っているんですか。
夢見るのも大概にしろよな。

と言うことで、これの延長線上にある

・夢溢れる「配列」の概念
・プログラミングの「条件分岐」
・コンピューターの真骨頂「ループ」

辺りを、次回の記事にしたいと思います!!

20190205追記

RPGツクールの変数やコモンイベントを使えるようになるため〜javascript入門として、問題集&模範解答集を作りました!

RPGツクールMV中級〜上級問題&解答集(ツクールMVプロジェクトデータ)

DLsite様 商品ページ

FANZA(旧DMM)様 商品ページ

模範解答は、イベントとしてがっつり組んでありますので、【シンボルエンカウント】とか【畑】は、そのままコピペで使えると思います!

是非ご活用ください!

それじゃあまた、明日とか!!いや明日は絶対無理だったわ!!忍びねぇ!!




-RPGツクール技術部門