RPGツクールMV プラグイン作成入門 (3) プラグイン用テンプレートの更新


RPGツクールMV で利用できるプラグインは、JS (JavaScript) ベースで Game Scripting System (JGSS) 環境上で動作します。これは JS 基本知識がある方が対象のプラグイン作成の入門資料っぽい何か、です。

4年ほど前に jgss-hack リポジトリ で公開した内容をもとに、今の環境用にリライトしてみました。これは第3回です。

RPGツクールMZ の発売を控えているので、その前にまとめておきたい、と焦っていたりします。なので内容薄目でごめんなさいw

関連リソース

RPGツクールMV プラグイン作成入門

  1. 簡単なプラグインを作成してみる
  2. 簡単なプラグインを拡張してみる
  3. プラグイン用テンプレートの更新【このページ】

今回の内容

第1回でご紹介したプラグインの元ファイル ですが、4年以上前ということもあり、いろいろ改善の余地がありました。(@elleonard_f さん、コメントありがとうございます!)

そこで今回は、MZ 発売前のまとめとして、現時点で私が使用している最新版をご紹介します。また簡単に説明したいとおもいます。

現在のテンプレート

以下がテンプレート用コードです。GitHub 上 にも置いてあります。

RTK_Test2.js
//=============================================================================
// RTK_Test2.js 2020/08/16
// The MIT License (MIT)
//=============================================================================

/*:
 * @plugindesc Test Plugin 2
 * @author Toshio Yamashita (yamachan)
 *
 * @help This plugin does not provide plugin commands.
 * This is for the test purpose only. So, please rename for the production use.
 */

/*:ja
 * @plugindesc テスト用プラグイン2
 * @author Toshio Yamashita (yamachan)
 *
 * @help このプラグインにはプラグインコマンドはありません。
 * テスト用に作成したものなので、実際に利用する場合には適当にリネームしてください
 */

(function(_global) {
    "use strict";
    var N = document.currentScript.src.replace(/^.*\/([^/]+)\.js$/, '$1');
    var param = PluginManager.parameters(N);

    // ここにプラグイン処理を記載
})(this);

説明テキストの多言語化

新しいテンプレートでは、英語と日本語の2種類の説明テキストを設定してあります。

ここでポイントとなるのは、以下の赤枠の ja 部分です。これは、この部分のコメントが「日本語」であることを示しています。

日本語環境で実行されている RPGツクールMV のプラグイン設定の画面では、この ja が指定された日本語のテキストが優先して表示されます。

それ以外 (英語とか中国語とか) の環境では、特に言語指定のないテキスト、つまり上にある英語テキストが表示されます。

海外でもプラグインを使って貰えるチャンスだと思って、できれば英語のテキストも用意しておくと良いでしょう。

Strict モードの利用

Strict モード はエラーチェックが厳しくなるもので、関数単位で指定します。間違いを見つけやすくなりますし、より高速に実行できるようチェックしてくれますので、ぜひ積極的に利用していきましょう。

関数の最初にある "use strict"; 文がこのための指定になります。

これは JavaScript として意味のある文ではありませんが、関数定義の最初にこの指定があることで、その関数内では Strict モードが有効になります。

プラグイン名の自動設定

さて、今回のテンプレートで一番複雑なのは、プラグイン名を設定している以下の部分ですね。

プラグインのファイル名から、拡張子を除いた名前 (今回だと RTK_Test2.js から RTK_Test2) を得たいだけなんですよね。

現在実行しているスクリプトのタグは Document.currentScript で得られます。その src 属性は以下の感じなので、

ここから 正規表現 で欲しい部分だけを抜き出しているわけです。なお元ネタはコメントでも紹介いただいた、尊敬する トリアコンタン さんの、こちらの情報 です。

パラメーター処理の準備

オマケとして、パラメーター処理の準備をしておきます。今回のテンプレートでは特に指定していませんが、まあ、実際にプラグイン作成する場合にはたいてい必要になりますよね。なので準備だけ。

なお実際のパラメーター処理なのですが、具体的な指定方法は プラグインパラメータのtypeまとめ を参照してみてください。(情報をいただいた @elleonard_f さん、こちらも感謝です!)

というわけで

だいぶ古くなっていた、そして当時の理解不足もあった、プラグインの基本テンプレートを更新してみました。自分の知識も整理できたので、RPGツクールMZ を迎える準備としては、やって良かったかな、とも思います。

それではまた!