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

アバター
Sho221
記事: 2
登録日時: 2023年2月21日(火) 00:45

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

投稿記事by Sho221 » 2023年2月21日(火) 00:57

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

コード: 全て選択

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


しかし選択肢ウインドウは消えるのですが、
画面が動かなくなってしまいます。

どのようにすればよいのか、ご教授願います。
最後に編集したユーザー Sho221 on 2023年2月21日(火) 10:50 [ 編集 1 回目 ]

アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

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

投稿記事by Plasma Dark » 2023年2月21日(火) 08:59

画面が動かなくなってしまいます。


選択肢ウィンドウがアクティブなまま、メッセージウィンドウが次のメッセージを表示できずにフリーズします。
キャンセルハンドラの内容を再現するより、processCancelを呼んだほうがシンプルに済むと思います。
アバター
Sho221
記事: 2
登録日時: 2023年2月21日(火) 00:45

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

投稿記事by Sho221 » 2023年2月21日(火) 10:47

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

“MZ:質問” へ戻る