【MV講座】プラグインパラメーターでデザインを可能にする その2

前回でデザインがけっこーできるようになりました。
今回の最下部で、いったん動画にしてみたいと思います。
よろしくお願いします。

画面サイズを設定できるようにする前準備

サイズに-1が設定されているとき、画面サイズを設定できるようにしたいと思います。
画面サイズは前にも使った

Graphics.width
Graphics.height

で取得できます。
これを使えばお茶の子さいさいです。

まず、

var NTMO = NTMO || {};
NTMO.TTTT = function(){
};

のすぐ下に以下のようなコードを追加します。

NTMO.TTTT.isNumberMinus = function(num) {
if(num < 0){ return true; } return false; };

これは引数で受け取った値がマイナスなのかどうかを判定する関数です。
似たような関数でもっといいものがJavaScriptに標準で付属しているような気もするのですが、JavaScirptの知識が足らずよくわからなかったので、自作しておきました。
ちなみにですが、プラグインパラメーターの説明には「-1を指定した場合」とありますが、マイナスならどうせ何も描画されないので、マイナスの値ならtrueを返すようにしています。
プラグインパラメーターの説明と齟齬が出るので、どっちかを調整した方がいいような気もしますが……。まあ面倒なんでそのままで(背景をスクロールさせたいのに何も表示させないってのはちょっと考えにくいですし)。

さて次です。
以下のコードを、先ほど書いたコードの下に追加します。

NTMO.TTTT.convertBackgroundWidth = function(num) {
if(NTMO.TTTT.isNumberMinus(num)){
return Graphics.width;
}else{
return num;
}
};
NTMO.TTTT.convertBackgroundHeight = function(num) {
if(NTMO.TTTT.isNumberMinus(num)){
return Graphics.height;
}else{
return num;
}
};

これらは、引数で受け取った値をNTMO.TTTT.isNumberMinusに渡し、値がマイナスならスクリーンサイズを返し、そうでない場合は引数で受け取った値をそのまま返す関数です。
これで前準備は完了です。

作った関数を使う

Scene_Title.prototype.createBackground()に戻ります。
main_widthやsub_heightなどには、直接プラグインパラメーターの値が代入されていますよね?
これだと、-1がプラグインパラメーターに設定されていた場合、当たり前ですが-1が代入されてしまいます。
そこで NTMO.TTTT.convertBackgroundWidth()などにプラグインパラメーターを渡し、その戻り値をmain_width変数などに代入します。
具体的には以下の4つのコードを

var main_width = param.settings_mainBackground[2];
var main_height = param.settings_mainBackground[3];
var sub_width = param.settings_subBackground[2];
var sub_height = param.settings_subBackground[3];

こうします!

var main_width = NTMO.TTTT.convertBackgroundWidth(param.settings_mainBackground[2]);
var main_height = NTMO.TTTT.convertBackgroundHeight(param.settings_mainBackground[3]);
var sub_width = NTMO.TTTT.convertBackgroundWidth(param.settings_subBackground[2]);
var sub_height = NTMO.TTTT.convertBackgroundHeight(param.settings_subBackground[3]);

はいこれでマイナスの値を設定した場合、画面サイズが実行されます。

現在どんなプラグインになっているのか

ここまで作っておいてなんですが、なんだかへちゃむくれの画像ばかりをあげていましたよね。
ということで、こんな画面ができますよというサンプル動画をあげてみます。

次回はパーティクルっぽいものを作ります。

フォローする