知っていると便利なスクリプト10選【RPGツクールMV】

2019/11/28ゲーム制作,創作

およそ3分で読めます

知っていると便利なスクリプト7選【RPGツクールMV】
悩んでいる人

RPGツクールMVを使い始めた。
オススメのスクリプトを教えてほしい!

こんな悩みを解決します。

本記事の内容

  • RPGツクールMVで便利なスクリプトを10個紹介

本記事の信頼性

ドッド工房の自己紹介
ドッド工房(@AtelierDodd

この記事を書いた私は、ゲーム制作歴10年くらいです。
制作した自作ゲームは25万回以上プレイしていただいており、ゲームコンテストでは5回以上受賞しています。
また、ゲーム制作イベントの講師経験もあります。

RPGツクールMVでは、スクリプト(JavaScript)を活用すると効率よく制作を進められます。
また、通常のRPGツクールMVではできない、少し変わった処理ができます

RPGツクールMVを使う以上は、スクリプトは使うべきです。

知っていると便利なスクリプト10選【RPGツクールMV】

知っていると便利なスクリプト7選

今回紹介するスクリプトは下記のとおりです。

  • ロード画面を開く
  • オプション画面を開く
  • PCとスマホどちらでプレイしているか判別する値を取得
  • 日付(月・日・曜日・時間)を取得
  • アクターを指定場所まで移動させる
  • アクターを瞬間移動させる
  • すべてのピクチャの消去
  • マップのスクロールが完了するまでウェイト
  • BGMをフェードインさせる
  • スマホを震えさせる

それでは順番に解説していきます。

スクリプト①:ロード画面を開く

SceneManager.push(Scene_Load);

このスクリプトを使えば、さまざまな場面でロード画面を表示できるように処理してくれます。

ゲームプレイ中でもセーブデータをロードさせたい場合に便利です。
例えば、自作メニュー画面やゲームオーバー時に入れると遊びやすくなります。

スクリプト②:オプション画面を開く

SceneManager.push(Scene_Options);

このスクリプトを使えば、さまざまな場面でオプション画面を表示するよう処理してくれます。

ゲームプレイ中でもオプション画面で設定が変更できると便利です。
自作メニュー画面に入れると気が利きますね。

スクリプト③:PCとスマホどちらでプレイしているか判別する値を取得

navigator.userAgent.match(/(iPhone|iPad|iPod|Android)/i) !== null ? 1 : 0;

「変数の操作」内の「スクリプト」で使用します。
下記の数値がその変数に代入されます。

  • スマホ・タブレットならば1
  • PCならば0

ブラウザゲームに使用すると便利です。
操作説明等、PCとスマホで表示する文章を分ける処理が可能になります。

スクリプト④:日付(月・日・曜日・時間)を取得

月を取得

(new Date()).getMonth() + 1;

日を取得

(new Date()).getDate();

曜日を取得

(new Date()).getDay();

▼時間(hour)を取得

(new Date()).getHours();

「変数の操作」内の「スクリプト」で使用します。
ゲームを起動している端末(PCやスマホ)の日付を取得できます。

バレンタインやハロウィンなど、季節イベントがあるゲームを作れたりします。
誕生日を設定していればお祝いしてくれるイベントなども作成できますね。

スクリプト⑤:アクターを指定場所まで移動させる

this.moveStraight(this.findDirectionTo(X座標,y座標));

「移動ルートの設定」内の「スクリプト」で使用します。
(X座標,Y座標)はアクターの移動先の座標を数値で記述してください。

通常だと「左に3歩、下に4歩」と移動する分を細かく指定して処理させる必要があります。
ですが、このスクリプトを使えば、アクターの移動ルートを細かく指定する必要がなくなります。
指定した座標まで自動で移動してくれるよう処理されます。

スクリプト⑥:アクターを瞬間移動させる

$gamePlayer.reserveTransfer($gameMap.mapId(マップID), X座標, Y座標 , 向き);
$gamePlayer.performTransfer();

イベントコマンドの「場所移動」では、アクターが移動するまでに少し待ち時間が発生します。
しかし、このスクリプトを使用すれば、場所移動の処理に待ち時間が発生しません。

日本語で書かれている部分には移動させたい場所を数値で記述してください。
「向き」はテンキーの各矢印に書かれている数字です。

  • 上…8
  • 右…6
  • 左…4
  • 下…2

なお、アクターの向きを変える必要が無ければ「, 向き」の部分を削除してください。

スクリプト⑦:すべてのピクチャの消去

$gameScreen.clearPictures();

このスクリプトを使えば、表示中のピクチャを一括リセット処理が可能になります。
ピクチャを大量に使うゲームに便利です。

スクリプト⑧:マップのスクロールが完了するまでウェイト

this.setWaitMode('scroll');

通常のRPGツクールMVだと、マップのスクロールに必要なウェイトを手動で設定する必要があります。

ですが、このスクリプトを「マップのスクロール」の直後に使うことで、スクロールが完了するまでにかかるウェイトを自動で発生させ処理してくれます。

演出でマップのスクロールを使う機会は非常に多いので、覚えておくとかなり便利です。

スクリプト⑨:BGMをフェードインさせる

AudioManager.fadeInBgm(5);

このスクリプトを「BGMの演奏」の直後で使うことで、BGMをフェードイン処理を実装することができます。

※BGMのフェードイン…徐々に音量を大きくすること。

「(5)」は「5秒でフェードイン」を意味します。
「10秒でフェードイン」させたい場合は「(10)」にしてご利用ください。

通常のRPGツクールMVだと、音量を90で設定していたら90そのままで再生されてしまいます。

ですが、私含めゲームの演出にこだわる方は、徐々にBGMを再生させたかったりします。
そんな方が重宝するスクリプトです。

スクリプト⑩:スマホを震えさせる

navigator.vibrate(1000);

このスクリプトを使えば、スマホを震えさせる(バイブレーション)処理を実装できます。

()内はミリ秒で記述してください。※ミリ秒…1/1000秒。
ホラーゲーム等のビックリ演出に最適です。

まとめ:RPGツクールMVを使うならスクリプトは使おう!

アイキャッチ画像

以上が「RPGツクールMVで知っていると便利なスクリプト」の紹介です。

ぜひ今後のゲーム制作にスクリプトを取り入れてみてください。

スクリプトを記述する際は、必ず「;」(セミコロン)を末尾につけましょう。
実際に私はつけ忘れた際に、ゲームプレイでエラーが発生しました。

こちらの記事もあわせてどうぞ!

せっかくRPGツクールMVを使っているならプラグインも活用すべきです。

関連記事»おすすめのプラグイン16選【RPGツクールMV】


ゲームの拡張性を高めるコモンイベントの作り方は知っていますか?

関連記事»【え!知らないの?】RPGツクールMVのコモンイベントの作り方

今回は以上です。