ページ 1 / 1
(解決しました)選択肢表示の位置(上下Y軸)を一時的に変更したい
Posted: 2022年1月30日(日) 08:36
by KITCHEN
お世話になります。よろしく願います。
選択肢表示の位置(上下Y軸)を一時的に変更したいと考えています。
1場面のみでそれを行いたいので、それ以外はデフォルトの表示でしたいと考えています。
その為、コアスクリプトの数値を変更するなど他に影響を及ぼすものではなく
そのシーンのみで戻せる形に出来ないでしょうか。
プラグインや、スクリプトで一時的に可能な方法があればアドバイスを頂ければと思います。
どうぞよろしくお願い致します。
Re: 選択肢表示の位置(上下Y軸)を一時的に変更したい
Posted: 2022年2月02日(水) 09:50
by なぴぃ
プラグインを作って解決する方法を順を追って書いてみます。
選択肢の位置を決定しているのはコアスクリプトrpg_windows.jsの Window_ChoiceList.prototype.updatePlacement というメソッドです。
ここでウィンドウ位置の設定に応じてX座標(this.x)とy座標(this.y)を入力しています。
この値を以下のように上書きするとy座標の位置が変数yの値に応じて変化します。
コード: 全て選択
Window_ChoiceList.prototype.updatePlacement = function() {
var positionType = $gameMessage.choicePositionType();
var messageY = this._messageWindow.y;
this.width = this.windowWidth();
this.height = this.windowHeight();
switch (positionType) {
case 0:
this.x = 0;
break;
case 1:
this.x = (Graphics.boxWidth - this.width) / 2;
break;
case 2:
this.x = Graphics.boxWidth - this.width;
break;
}
if (messageY >= Graphics.boxHeight / 2) {
this.y = messageY - this.height;
} else {
this.y = messageY + this._messageWindow.height;
}
//↓追記分
this.y = this.y + $gameVariables.value(120); //y座標に元のy座標+変数120の値を代入
};
これだと使い終わった時0に戻すのが面倒なので位置を上書きし終わったら変数を0にリセットするようにします。
コード: 全て選択
//↓追記分
this.y = this.y + $gameVariables.value(120); //y座標に元のy座標+変数120の値を代入
$gameVariables.setValue(120, 0); //代入後変数を0に戻す
コアスクリプトへの追記の場合はこれで完成です。
競合しにくいようにプラグイン化すると以下のようになります。(プラグイン化の方法はこちらを参照
https://tkool.jp/mz/plugin/make/koushiki.html)
コード: 全て選択
const _Window_ChoiceList_prototype_updatePlacement = Window_ChoiceList.prototype.updatePlacement;
Window_ChoiceList.prototype.updatePlacement = function() {
_Window_ChoiceList_prototype_updatePlacement.apply(ths,arguments); //元の処理を実行
//↓追記分
this.y = this.y + $gameVariables.value(120); //y座標に元のy座標+変数120の値を代入
$gameVariables.setValue(120, 0); //代入後変数を0に戻す
これを使いたい変数番号に変えてメモ帳等に貼り付けて保存し、拡張子を.jsに変更すればプラグインになります。
Re: 選択肢表示の位置(上下Y軸)を一時的に変更したい
Posted: 2022年2月02日(水) 10:59
by KITCHEN
なぴぃ 様
アドバイスを頂戴しましてありがとうございます。
参考に致しまして、試してみたいと思います。感謝します。
Re: 選択肢表示の位置(上下Y軸)を一時的に変更したい
Posted: 2022年2月03日(木) 07:02
by ムノクラ
Re: 選択肢表示の位置(上下Y軸)を一時的に変更したい
Posted: 2022年2月04日(金) 16:28
by KITCHEN
ムノクラさま、ありがとうございます。わざわざお手数をお掛けしまして感謝します。