こんにちは、今日はRPGツクールMVの自作プラグインでマップ画面に独自のウィンドウを表示する方法についてまとめていきます。
確認環境
RPGツクールMV Version 1.6.2
マップ画面開始時の処理
以下の関数がマップ画面開始時に呼び出されているため、こちらの関数を上書きして独自のウィンドウを生成する処理を追加します。
Scene_Map.prototype.start
独自のウィンドウクラスを定義しておき、以下のように生成、画面に追加します。
var Scene_map_start = Scene_Map.prototype.start;
Scene_Map.prototype.start = function() {
Scene_map_start.call(this);
this._testWindow = new Window_Test(0, 0, 200, 100);
this.addWindow(this._testWindow);
};
サンプル
(function() {
var Scene_map_start = Scene_Map.prototype.start;
Scene_Map.prototype.start = function() {
Scene_map_start.call(this);
this._testWindow = new Window_Test(0, 0, 200, 100);
this.addWindow(this._testWindow);
};
//--------------------------------------------------
// Name : Window_Test
// Desc : テストウィンドウクラス
//--------------------------------------------------
function Window_Test() {
this.initialize.apply(this, arguments);
}
Window_Test.prototype = Object.create(Window_Base.prototype);
Window_Test.prototype.constructor = Window_Test;
Window_Test.prototype.initialize = function(x, y, width, height) {
Window_Base.prototype.initialize.call(this, x, y, width, height);
};
Window_Test.prototype.update = function() {
Window_Base.prototype.update.call(this);
this.contents.clear();
this.drawIcon(97, 0, 0);
this.drawText("テキスト", Window_Base._iconWidth, 0);
};
})();