【解決済み】プレイ時にある操作でフリーズすることについて

アバター
剣崎 宗二
記事: 681
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: プレイ時にある操作でフリーズすることについて

投稿記事by 剣崎 宗二 » 2018年1月06日(土) 14:18

追記です。
テストのし過ぎで手が痛いのでどなたか再現できた方に代理で試していただきたいのですが…

コード: 全て選択

SceneManager.changeScene = function() {
    if (this.isSceneChanging() && !this.isCurrentSceneBusy()) {
        if (this._scene) {
            this._scene.terminate();
            this._previousClass = this._scene.constructor;
        }
        var origName = this._scene ? this._scene.constructor.name : "none";
        var newName = this._nextScene ? this._nextScene.constructor.name : "none";
       
        this._scene = this._nextScene;
        if (this._scene) {
            this._nextScene = null;   //この2行がもともと逆だった
            this._scene.create();      //(createが先でnextSceneが後)     
            this._sceneStarted = false;
            this.onSceneCreate();
        }
       
        if (this._exiting) {
            this.terminate();
        }
    }
};


これで直りませんでしょうか。

----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
アバター
まっつUP
記事: 1155
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: プレイ時にある操作でフリーズすることについて

投稿記事by まっつUP » 2018年1月06日(土) 15:12

剣崎 宗二様
剣崎様のコードを導入したところ
導入前に当方でも確認できたアイテムシーンの入力不可能な状態が
導入後は再現しなくなりました。
RPGで笑顔を・・・

ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup

github
https://github.com/mattuup/RPGMakerMZ
アバター
にいやん
記事: 218
登録日時: 2016年7月02日(土) 00:38
お住まい: 地獄4丁目西のゴミ置き場
連絡を取る:

Re: プレイ時にある操作でフリーズすることについて

投稿記事by にいやん » 2018年1月06日(土) 18:14

たくさんの返信、そしてプラグインまで作って頂きありがとうございます。
作成されたプラグインの簡単な使用報告です。

しぐれんさんのコードですがフリーズが発生したときと同じ状況を再現させて試してみたところ、アイテム画面からメニュー画面へ戻らないでそのままダイレクトにマップ画面へ戻ってしまうようです。

ツミオさんのコードと剣崎 宗二さんのコードですがどちらも特に問題がないように思っております。

提示された3つのコードですがフリーズは無くなったのでゲームの進行上、プレイヤーにストレスを与えることが無くなったかなと思います。急いでいたり、もしくはゲームに慣れてくるとどうしても決定やキャンセルの動作が早くなってしまい誘発されるバグだと思うのでプラグインとしての拡張機能としてではなく公式でしっかりと対応して頂きたいと思います。この件に関しまして改めて公式にメールで要望という形で報告をしようと思います。ご協力して頂いた方々ありがとうございました。
アバター
しぐれん
記事: 973
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: プレイ時にある操作でフリーズすることについて

投稿記事by しぐれん » 2018年1月06日(土) 18:15

別バージョンの修正パッチです。
剣崎さんのバージョンで修正可能だと思いますが、他のプラグインとの競合があった場合こちらを試してみてください。
ただ、processHandling()を丸ごと再定義しているのでその点はご注意ください。

コード: 全て選択

Window_Selectable.prototype.canProcessHandling =function(){
    return this.isOpenAndActive()  && !SceneManager.isSceneChanging() && !SceneManager.isCurrentSceneBusy();
}

Window_Selectable.prototype.processHandling = function() {
    if (this.canProcessHandling()) {
        if (this.isOkEnabled() && this.isOkTriggered()) {
            this.processOk();
        } else if (this.isCancelEnabled() && this.isCancelTriggered()) {
            this.processCancel();
        } else if (this.isHandled('pagedown') && Input.isTriggered('pagedown')) {
            this.processPagedown();
        } else if (this.isHandled('pageup') && Input.isTriggered('pageup')) {
            this.processPageup();
        }
    }
};
添付ファイル
WindowPatch.js
(729 バイト) ダウンロード数: 38 回
現在、プラグイン依頼はお休み中です。
アバター
にいやん
記事: 218
登録日時: 2016年7月02日(土) 00:38
お住まい: 地獄4丁目西のゴミ置き場
連絡を取る:

Re: プレイ時にある操作でフリーズすることについて

投稿記事by にいやん » 2018年2月24日(土) 00:36

ツクールMVのアップデートでバージョンが1.6.0になりました。
ただ、結果としてはフリーズの現象は完全に回避できているわけではありません。
1.6.0の更新点の中に【・アイテム画面とメニュー画面を切り替えた際に稀にフリーズする問題を修正。】と書いてありますが、フリーズは回避できているもののアイテム画面で続けてキャンセルを押すと本来はメニュー画面に戻らなければいけないところがそのままダイレクトにマップ画面に戻ってしまいます。

問題はアイテム画面だけではなく、スキル画面、装備画面でもフリーズが発生することだったのですが、確認したところ装備画面は修正できたように見えますが、スキル画面では以前のようにフリーズが発生しています。ここも今後、修正が必要だと思います。

追記:アイテムシーンに関する変更の仕方が大きな問題になっているので、ここでは根本的な解決には至らないのでこちら→https://tm.lucky-duet.com/viewtopic.php?f=5&t=5592で報告をして下さい。

“MV:質問” へ戻る