1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Posted at

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 部分です。これは、この部分のコメントが「日本語」であることを示しています。
image.png
日本語環境で実行されている RPGツクールMV のプラグイン設定の画面では、この ja が指定された日本語のテキストが優先して表示されます。

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

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

Strict モードの利用

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

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

プラグイン名の自動設定

さて、今回のテンプレートで一番複雑なのは、プラグイン名を設定している以下の部分ですね。
image.png
プラグインのファイル名から、拡張子を除いた名前 (今回だと RTK_Test2.js から RTK_Test2) を得たいだけなんですよね。

現在実行しているスクリプトのタグは Document.currentScript で得られます。その src 属性は以下の感じなので、
image.png
ここから 正規表現 で欲しい部分だけを抜き出しているわけです。なお元ネタはコメントでも紹介いただいた、尊敬する トリアコンタン さんの、こちらの情報 です。

パラメーター処理の準備

オマケとして、パラメーター処理の準備をしておきます。今回のテンプレートでは特に指定していませんが、まあ、実際にプラグイン作成する場合にはたいてい必要になりますよね。なので準備だけ。
image.png
なお実際のパラメーター処理なのですが、具体的な指定方法は プラグインパラメータのtypeまとめ を参照してみてください。(情報をいただいた @elleonard_f さん、こちらも感謝です!)

というわけで

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

それではまた!

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?