ツクールMVには『デベロッパーツール』という補助ツールが付いています。
デベロッパーツールを完璧に使いこなすには高度な知識が必要になってくると思いますが、簡単に使えてとても便利な機能があります。
それが『console.log』です。
なので今回はconsole.logの使い方を紹介していきます。




<使い方1 コンソールに文字を表示させる>

こちらは私が制作した「すごろクエスト」というゲームのコモンイベントです。

su1

コモンイベント内でそこそこ長いイベントを組んでいるのですが、こういうものを作っていると、途中でエラーが出た時にどこが間違っているのか探すのが結構大変な時があります。
そういう時にconsole.logを使います。

たとえばこんな風に書き加えます。

su2
(キャラが右、下方向の分岐路に差し掛かった時の処理なので '分岐-右下' と書いてます)


そうしたらゲームのテストプレイを開始して、『F8キー』を押して下さい。
F8キーを押すとデベロッパーツールが起動するので、『Console』のページにしておきます。

su4


そしてテストプレイを進めていくと・・・


イベントの処理が先ほど『 console.log('適当な文字') 』と書いた部分を通った時に、デベロッパーツールに文字が表示されるようになります。

su3

分岐-右下 と表示されましたね。
もし文字が表示されるはずのところで表示されなかったら、それより前の部分に問題があるということが分かります。



<使い方2 変数の値を表示させる>

単なる文字だけでなく、変数やスイッチの状態を表示させることもできます。
変数の値を取得するスクリプトは
$gameVariables.value(変数番号)
スイッチは
$gameswitches.value(スイッチ番号)
です。
これをconsole.logのカッコ内に入れて『console.log($gameVariables.value(変数番号))』というようにします。

su5

すると、変数の値が表示されるようになります。

su6



文字を入れる時は '文字' というように『'   ' 』で囲みますが、変数などを入れる時は『'   ' 』は付けないということに注意して下さい。

また、一度に複数の情報を表示させることも出来ます。
たとえば
console.log( '変数1 : ' , $gameVariables.value(1)) というように書けば、変数1 : という文字と、変数1の値が並んで表示されます。
こういう風に複数設定する時は『 , 』で区切ります。


この2つの使い方はイベントコマンドだけでゲームを作る時にもとても役に立つので、覚えておくといいと思います。




<使い方3 オブジェクトの中身を表示させる>

これはイベントコマンド中ではあまり使わないかもしれないですが、プラグインを作る時などにとても重要になります。

前回、簡単なプラグインを作ってみよう3 の記事中で

Game_Action.prototype.applyCritical = function(damage) {
    return damage * 3
+ this.subject().luk;
};

こんなものが出てきましたね。
細かい説明を省いて『this.subject().luk』という書き方をしましたが、このsubject()が持っている情報もconsole.logで調べることができます。

Game_Action.prototype.applyCritical = function(damage) {
    console.log(this.subject());
    return damage * 3 + this.subject().luk
;
};

上のようにconsole.logを加えたらテストプレイを開始し、このメソッドを実行、つまりクリティカル攻撃を出してみてください。

su7

su8

subject()の中身がずらっと表示されました。
この中身にあるものは全部 this.subject().○○ というように使えるということです。



このように、console.logを使うとコンソールに色々な情報を表示させることができるので、製作の助けになります。

console.logはただコンソール上にログを表示させるだけの機能であり、ゲームの動作に影響を与えることは基本的にはありません。
なので用の済んだconsole.logを残しっぱなしにしてしまっても不具合には繋がりませんが、無駄な処理が入る分僅かとはいえ重くなるので、使い終わったらなるべく削除しておきましょう。
(私のプラグインは結構削除し忘れていることがあります。すみません;;)