【解決済み】トリアコンタン様のMessageWindowPopupについて

有楽亭
記事: 73
登録日時: 2016年2月29日(月) 04:41

【解決済み】トリアコンタン様のMessageWindowPopupについて

投稿記事by 有楽亭 » 2018年10月21日(日) 07:20

お世話になっております。

トリアコンタン様のMessageWindowPopupを使ってみたのですが、
『アイテム選択の処理』の選択ウィンドウ位置が固定されてしまうバグが発生しました。
viewtopic.php?f=49&t=6835
上記の記事の方法でY座標を変更させても下部固定になってしまうため困っています…。
(Ver1.6.1の新規プロジェクトでも同様の現象が発生しました。)

お忙しい中、誠に恐縮ですが修正して頂けたら幸いです。
よろしくお願いします!
最後に編集したユーザー 有楽亭 on 2018年10月21日(日) 14:19 [ 編集 1 回目 ]

奏ねこま
記事: 702
登録日時: 2016年1月20日(水) 20:04

Re: トリアコンタン様のMessageWindowPopupのバグ修正要望

投稿記事by 奏ねこま » 2018年10月21日(日) 10:14

その挙動はプラグインのバグではなく、ツクールMVの標準仕様です。
・メッセージウインドウが画面の上半分にかかる場合はアイテム選択ウインドウを下に表示する
・メッセージウインドウが画面の下半分に収まる場合はアイテム選択ウインドウを上に表示する
もともとこういう仕様になっています。
アイテム選択ウインドウを表示するときにメッセージウインドウが表示されていなくても、
最後に表示されたメッセージウインドウの位置の影響を受けてしまうのはバグな気がしなくもないですが…(プラグインのではなく、ツクールMVの)

そういうわけで、MessageWindowPopupで表示するフキダシウインドウについても
画面の上半分にかかるような位置で表示した場合は、その後のアイテム選択ウインドウは下に表示されます。
暫定的な回避策としては、画面下半分にいるイベントに対してウインドウ位置下向きの設定で
プラグインコマンドを実行する(文章の表示をする必要はない)ことでアイテム選択ウインドウの表示位置が上になると思います。

---- 追記 ----
先のトピックでにゃたまさんに回答頂いてるプラグイン案に対する改修案を。

コード: 全て選択

Window_EventItem.prototype.updatePlacement = function() {
   // X座標を変更する場合以下を追加
   // this.x = 100;
    if (this._messageWindow.y >= Graphics.boxHeight / 2) {
        this.y = 0; //Y座標を変更するにはこの値を書き換えます
    } else {
        this.y = 0; //←ここも↑の値と同じ値に書き換える(by 奏ねこま)
    }
};

こんな感じで。
条件分岐自体必要ないんですが、書き換え範囲は少ないほうが良いし説明も簡単なので。
有楽亭
記事: 73
登録日時: 2016年2月29日(月) 04:41

Re: トリアコンタン様のMessageWindowPopupのバグ修正要望

投稿記事by 有楽亭 » 2018年10月21日(日) 14:18

奏ねこま様の言う通りにコアスクリプトを改修することで解決致しました!

プラグイン側ではなく、ツクールMV側の難儀な仕様だったんですね…
無知な私をお許し下さい…!

“MV:プラグイン素材のリクエスト” へ戻る