ページ 11

【解決済み】アイテム選択の処理にウィンドウを追加

Posted: 2017年6月26日(月) 21:25
by ビービー
こんばんは。

イベントコマンドのアイテム選択の処理で表示されるウィンドウを増やしていただきたく依頼させていただきます。

まずはわかりやすいかと思うので、下の画像を見てください。
image_20170626_20373302.png

画面最上部のウィンドウとアイテム選択の上のウィンドウはプラグインを使用し表示しています。
画面最上部のウィンドウはメッセージウィンドウですが
村人AさんのMessageWindowPlugin.js(http://rpgmaker-script-wiki.xyz/changemessagewindowsize_kowazamv.php)
を使用し行数を変更しています。
またこのプラグインを改変しウィンドウの高さを変えています。
32行目を
this.height = (this.numVisibleRows())*45;
から
this.height = (this.numVisibleRows()) * this.lineHeight() + this.standardPadding() * 2;
のように変えました。

次にアイテム選択上部のウィンドウですが、こちらは
tomoakyさんのアイテム選択拡張(http://hikimoki.sakura.ne.jp/plugin/plugin_menu.html)
でアイテムのヘルプウィンドウを表示しています。

さて本題ですが、この二つのウィンドウの間(画像の赤い斜線の部分)に新しい情報表示ウィンドウを作成していただきたいです。
表示内容はヘルプウィンドウの仕様と同じく、選択中のアイテムによって切り替わる事を望みます。
表示内容についてはそのアイテムのメモ欄から取得する形を考えているのですが、それ以外の方法でも構いません。
表示位置は文章の表示のように一行一行表示される形と、xとyを指定して好きな場所に表示する機能があるとありがたいです。
表示する文章ですが、私の方では、文章と変数の値とアイコンが表示できれば良いのですがそれ以外の表示については、作者様にお任せします。

以上が依頼内容になります。
よろしくお願いします。

Re: アイテム選択の処理にウィンドウを追加

Posted: 2017年7月09日(日) 16:03
by ビービー
こんにちは。

昨日ふと「ウィンドウを追加するんじゃなくてヘルプウィンドウを大きくすればいいんじゃないか」
と思ったので早速やってみたのですが、うまくいきませんでした。

ヘルプウィンドウを大きくすることはtomoakyさんのアイテム選択拡張プラグインTMEventItemExの

var _Window_Message_createSubWindows = Window_Message.prototype.createSubWindows;
Window_Message.prototype.createSubWindows = function() {
の部分に
this._helpWindow.height = Graphics.boxHeight - 36 * 7;//add
を追加したらできたのですが、文章を増やすべく
Window_Help.prototype.refresh = function() {
this.contents.clear();
this.drawTextEx(this._text, this.textPadding(), 0);
this.drawTextEx('\n\n' + $dataItems[1].meta['addhelp'], this.textPadding(), 0);//add
};
とdrawTextExを一つ足してみたんですが
どうやら二行以上は表示されないようで'\n\n' があると表示されなくなってしまいました。

どうすればウィンドウの縦幅いっぱいまでテキストを表示できるようになるのでしょうか?
また選択中のアイテムのメモ欄の取得方法もわからないので
そちらも教えていただけると助かります。
よろしくお願いします。

Re: アイテム選択の処理にウィンドウを追加

Posted: 2017年7月09日(日) 17:30
by まっつUP
ビービー様
お世話になります。
this._helpWindow.height = Graphics.boxHeight - 36 * 7;ではなく

new Window_Help(6)といったようにオブジェクト生成時に引数を指定してください。

Re: アイテム選択の処理にウィンドウを追加

Posted: 2017年7月09日(日) 17:56
by まっつUP
後はこれを追加するとどうでしょうか。

var _Window_Help_refresh = Window_Help.prototype.refresh;
Window_Help.prototype.refresh = function() {
_Window_Help_refresh.call(this);
if(!BBaddhelp) return;
if(BBaddhelp.meta['addhelp']){
this.drawTextEx('\n\n' + BBaddhelp.meta['addhelp'], this.textPadding(), 0);
BBaddhelp = null;
}
};

var BBaddhelp = null;
//オーバーライド
Window_EventItem.prototype.updateHelp = function() {
BBaddhelp = this.item();
this.setHelpWindowItem(this.item());
};

Re: アイテム選択の処理にウィンドウを追加

Posted: 2017年7月09日(日) 20:15
by ビービー
まっつUPさん
教えていただきありがとうございました。

おかげさまで望む形を作る事ができました。
image_20170709_201123.png


本当に助かりました。
これにて解決とさせていただきます。