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

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

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

投稿記事 by Sho221 »

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

コード: 全て選択

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

どのようにすればよいのか、ご教授願います。
最後に編集したユーザー Sho221 [ 2023年2月21日(火) 10:50 ], 累計 1 回
アバター
Plasma Dark
記事: 736
登録日時: 2020年2月08日(土) 02:29
連絡する:

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

投稿記事 by Plasma Dark »

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

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

投稿記事 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
返信する

“MZ:質問”に戻る