今日のツクールMZスクリプト【17】・プラグイン関係
いろいろとプラグインを触ってその中で分かったことなどをまとめておきます。
まず、アノテーションですが、
パラメータ側とコマンド側とに分かれていて、それぞれ
param , arg で定義をします。
また@typeで
数値だったり、変数のidだったり、文字列だったりファイル名などの入力の指定をします。ここでtypeののちに[]とつけると配列になります。
アノテーションに関する解説 | プラグインを作ってみる | プラグイン講座 | RPGツクールMZ (tkool.jp)
プラグインコマンドなどの数値の部分には
$gameVariables.value(x)や\V[x]などが使えないので
プラグインコマンドで数式や制御文字を有効に【RPGツクールMZ&MVプラグイン】 - New RPG Project (seesaa.net)
こちらの砂川赳さんのプラグインが非常に便利です。
プラグイン作成時には
(() => {
// 全ての処理がここに記述されている
})();
のテンプレを利用して、設定していきます。
'use strict';を関数内の一番上に書いておくことでエラーが出たらわかるらしい。
いろいろと試して、つくったのがこれ
PLUGIN_NAME でプラグイン名の定義をして、
PARAMで パラメータの定義をします。
p_nameは配列で、それを呼び出す?にはJSONと変換?をしないといけないみたいで不思議な処理をします。
PluginManager.registerCommand(プラグイン名,コマンド名,関数);
でプラグインコマンドの、対応するコマンド名の関数を定義します。
()内の関数は
args => {
//処理
};
としています。誰かのプラグインを参考にしたのですがなぜこういう表記なのかは謎です。
関数内は
idの数値を呼び出し、それのidに対応するグローバル変数の値を代入し
その値の添字の名前を配列p_nameから引っ張ってきています?
つまりコマンドで設定した変数の値番目のピクチャ名が
出力側の変数に代入されています。
作る際にはこちらのプラグインを特に参考にしました
KRD サイコロ - KRD_MZ_Dice.js - #ツクプラMZ (fungamemake.com)
これを応用して、変数のみピクチャの表示と移動をするようにしました。
その過程で、スクリプトコマンドの
this.wait(数値);
というものがプラグインでは使えませんでした。
たしか、this.wait() is not function.
と出ました。
ウェイトできない(プラグイン) - ツクマテ (lucky-duet.com)