【解決済み】オプションからゲーム終了(タイトルに戻る)をするには?

返信する
rpgcode
記事: 47
登録日時: 2020年2月29日(土) 03:53

【解決済み】オプションからゲーム終了(タイトルに戻る)をするには?

投稿記事 by rpgcode »

通常はメニュー内にゲーム終了(タイトルに戻る)コマンドがありますが、このコマンドをメニューではなくオプション内で呼び出すにはどうすればいいのでしょうか?

わかる方、教えて頂けると助かります。
よろしくお願いします。
最後に編集したユーザー rpgcode [ 2021年7月02日(金) 10:14 ], 累計 1 回
アバター
WTR
記事: 625
登録日時: 2015年12月22日(火) 19:14

Re: オプションからゲーム終了(タイトルに戻る)をするには?

投稿記事 by WTR »

Scene_Options と Window_Options を弄ればいいんじゃないでしょうか。
それぞれ、Scene_GameEnd と Window_GameEnd が参考になると思います。

Window_Options の makeCommandList() に追加のコマンドを記述すればよいでしょう。
Window_GameEnd の makeCommandList() が参考に…というかそのままです。

コマンドを追加しただけだと
タイトルへ  ON とか意味の分からない表示になります。
ON / OFF をコンフィグするわけじゃないので余計なテキストは描画しないようにするとよいでしょう。
statusText() を弄ればよさそうです。drawItem() でもいいかも

Scene_Options をみるとウィンドウのOKハンドラが設定されていないので
Scene_GameEnd の createCommandWindow()、commandToTitle() あたりを参考に(…というかコレもそのままですが
同様の処理をScene_Options に追加しておいて
Window_Options の processOk() にOKハンドラの呼び出しを追加する。

こんなとこでしょうか。
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
rpgcode
記事: 47
登録日時: 2020年2月29日(土) 03:53

Re: オプションからゲーム終了(タイトルに戻る)をするには?

投稿記事 by rpgcode »

WTRさん

コアスクリプトをいじればできるんですね。
今はコアスクリプトまで手が回らないので、少しずつ見てみようと思います。
教えて下さりどうもありがとうございました!
アバター
WTR
記事: 625
登録日時: 2015年12月22日(火) 19:14

Re: オプションからゲーム終了(タイトルに戻る)をするには?

投稿記事 by WTR »

書き殴ったようなやつですがとりあえず動くと思います。

コード: 全て選択

(() => {
    "use strict";
const _Scene_Options_createOptionsWindow = Scene_Options.prototype.createOptionsWindow;
Scene_Options.prototype.createOptionsWindow = function() {
	_Scene_Options_createOptionsWindow.call(this);
	this._optionsWindow.setHandler('toTitle',  this.commandToTitle.bind(this));
};

Scene_Options.prototype.commandToTitle = function() {
	this.fadeOutAll();
	SceneManager.goto(Scene_Title);
};

const _Window_Options_makeCommandList = Window_Options.prototype.makeCommandList;
Window_Options.prototype.makeCommandList = function() {
	_Window_Options_makeCommandList.call(this);
	this.addCommand(TextManager.toTitle, 'toTitle');
};

const _Window_Options_statusText = Window_Options.prototype.statusText;
Window_Options.prototype.statusText = function(index) {
	const result = _Window_Options_statusText.call(this, index);
	if (this.commandSymbol(index) === 'toTitle') {
		return;
	} else {
		return result;
	}
};

const _Window_Options_processOk = Window_Options.prototype.processOk;
Window_Options.prototype.processOk = function() {
	_Window_Options_processOk.call(this);
	this.callOkHandler();
};

})();
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
rpgcode
記事: 47
登録日時: 2020年2月29日(土) 03:53

Re: オプションからゲーム終了(タイトルに戻る)をするには?

投稿記事 by rpgcode »

WTRさん

使ってみたところ、動作しました。
どうもありがとうございました!
返信する

“MV:質問”に戻る