ページ 11

【解決済み】選択肢を強制的に閉じたい

Posted: 2023年2月21日(火) 00:57
by Sho221
MZでの質問です。
選択肢を表示中に強制的に選択肢ウインドウを終了させたく、
並列処理に以下のスクリプトを入れました。
(キャンセル時の処理をして終了する、という流れです)

コード: 全て選択

$gameMessage.onChoice($gameMessage.choiceCancelType());
SceneManager._scene._messageWindow.terminateMessage();
SceneManager._scene._messageWindow._choiceListWindow.close();
しかし選択肢ウインドウは消えるのですが、
画面が動かなくなってしまいます。

どのようにすればよいのか、ご教授願います。

Re: 選択肢を強制的に閉じたい

Posted: 2023年2月21日(火) 08:59
by Plasma Dark
画面が動かなくなってしまいます。
選択肢ウィンドウがアクティブなまま、メッセージウィンドウが次のメッセージを表示できずにフリーズします。
キャンセルハンドラの内容を再現するより、processCancelを呼んだほうがシンプルに済むと思います。

Re: 選択肢を強制的に閉じたい

Posted: 2023年2月21日(火) 10:47
by Sho221
Plasma Dark様

アドバイスありがとうございます!
以下のように記述して問題なく動作しました。

コード: 全て選択

SceneManager._scene._messageWindow._choiceListWindow.processCancel();

余談ですが、最初の相談時のスクリプトは、
こんな感じにdeactivateを追加すればよかった模様です。

コード: 全て選択

$gameMessage.onChoice($gameMessage.choiceCancelType());
SceneManager._scene._messageWindow.terminateMessage();
SceneManager._scene._messageWindow._choiceListWindow.close();
SceneManager._scene._messageWindow._choiceListWindow.deactivate();

より簡潔なのでprocessCancel()でいきたいと思います。
助かりました!m(__)m