ページ 11

ウインドウを表示するプラグインをスイッチON、OFF出したり消したりしたい

Posted: 2016年4月30日(土) 00:42
by ツクアキ
ウインドウを表示して主人公の名前をつねに右上に表示するプラグインを
調べながら作ったのですが
それをスイッチON、OFFで出し入れしようとした場合に
条件分岐で下記のように記述したのですが うまくいきません。
(スイッチ1がONのときにウインドウを出したい、1がOFFになったら消したい)


if($gameSwitches.value(1)){
//(ウインドウを出して文字を表示する処理…)
}


うまい方法があれば教えて頂けると幸いです。


※VXAceの場合はイベントコマンドスクリプトで


ウインドウを出して文字を表示
@win1 = Window_Base.new(20, 20, 200, 200)
@win1.draw_text_ex(20, 20,"文章表示")

ウインドウを消す
@win1.dispose
@win1 = nil


という方法で対応できたので、MVでこのような対応ができる場合
MVでも似たような方法があればそちらを教えて頂いても嬉しいです。

Re: ウインドウを表示するプラグインをスイッチON、OFF出したり消したりしたい

Posted: 2016年4月30日(土) 15:23
by Trb
//(ウインドウを出して文字を表示する処理…) の部分をどう書いているのか分からないと答えにくいのですが・・・
デフォルトのウインドウベースを使っているなら、基本的には
オブジェクト名.show();でウインドウの表示
オブジェクト名.hide();でウインドウの非表示
だと思います。

Re: ウインドウを表示するプラグインをスイッチON、OFF出したり消したりしたい

Posted: 2016年4月30日(土) 21:27
by ツクアキ
Trb さん
レスありがとうございます。
ちょっと自分で内容を頂いたのを元にやってみたのですが
わからないので処理の部分を書きます。
どう記述すれば出したりいれたりできるのか
わかると大変助かりますので、教えて頂けると幸いです。

以下、処理の部分↓

(function() {

// マップ上にウインドウ表示宣言
var Scene_map_start = Scene_Map.prototype.start;
Scene_Map.prototype.start = function() {
Scene_map_start.call(this);
this._InfomWindow = new Window_Infom();
this.addWindow(this._InfomWindow);
};
var _Scene_Map_update = Scene_Map.prototype.update;
Scene_Map.prototype.update = function() {
_Scene_Map_update.call(this);
this._InfomWindow.setText();
};

// ウインドウ作成
function Window_Infom() {
this.initialize.apply(this, arguments);
}

Window_Infom.prototype = Object.create(Window_Base.prototype);
Window_Infom.prototype.constructor = Window_Infom;
Window_Infom.prototype.initialize = function() {
var x = 0;
var y = 500;
var width = 180;
var height = 108;
Window_Base.prototype.initialize.call(this, x, y, width, height);
};

Window_Infom.prototype.setText = function(str) {
this._text = str;
this.refresh();
};

// テキスト表示
Window_Infom.prototype.refresh = function() {
this.contents.clear();
this.drawText("X軸"+ $gameVariables.value(1),0,0);
this.drawText("Y軸"+ $gameVariables.value(2),0,30);
this.drawText($gameVariables.value(1),200,50);
};

// フォントサイズ
Window_Infom.prototype.standardFontSize = function() {
return 20;
};
// ウインドウの透明度
Window_Infom.prototype.standardBackOpacity = function() {
return 255;
};
// ウインドウの余白
Window_Infom.prototype.standardPadding = function() {
return 18;
};
// ウインドウの色調
Window_Infom.prototype.updateTone = function() {
this.setTone(64, 0, 128);
};

})();

Re: ウインドウを表示するプラグインをスイッチON、OFF出したり消したりしたい

Posted: 2016年4月30日(土) 22:27
by Trb
それでしたら、updateの部分にこう追加すればいいですよー。

コード: 全て選択

 var _Scene_Map_update = Scene_Map.prototype.update;
 Scene_Map.prototype.update = function() {
 _Scene_Map_update.call(this);
 this._InfomWindow.setText();
 //----ここから
 if($gameSwitches.value(1)){
     this._InfomWindow.show();
 }else{
     this._InfomWindow.hide();
 }
 //----ここまで追加
 };
これでスイッチ1がオンの時表示、オフの時非表示になります。

Re: ウインドウを表示するプラグインをスイッチON、OFF出したり消したりしたい

Posted: 2016年4月30日(土) 22:49
by ツクアキ
Trb さん
早いお返事ありがとうございます。

試したところバッチリ思っていたことができました。 
本当にありがとうございました。 ものすごく嬉しいです。
がんばって良いゲームが作れるようがんばります。