ページ 11

【解決済み】選択肢を強制的に閉じる方法

Posted: 2019年6月24日(月) 00:25
by マニア~ジュ
いつもお世話になっております。

今回、ご質問させて頂きたいのは選択肢を強制的に閉じる方法です。

具体的には、選択肢が表示されている間に、並列処理のイベントで変数(例えば生命力)をループで少しずつ減らしているとします。

選択肢を選ばずに放置している間も、生命力はどんどん減ってしまい、0になってしまうと別のスイッチがONになって違うイベントが発生します。

しかし、違うイベントが発生しても、選択肢についてはそのまま表示されっぱなしです。

ここで、生命力が0になって別のイベントが発生した際に、選択肢を強制的に閉じる方法がないかお教え頂きたいのです。

プラグインでもスクリプトでもいいのですが、分かりやすくお教えして頂けないでしょうか。

宜しくお願いしますm(__)m

Re: 選択肢を強制的に閉じる方法

Posted: 2019年6月24日(月) 22:20
by 剣崎 宗二
お疲れ様です。
以下のスクリプトを試してみてはいかがでしょうか。

コード: 全て選択

SceneManager._scene._messageWindow.terminateMessage();
SceneManager._scene._messageWindow._choiceWindow.close();

Re: 選択肢を強制的に閉じる方法

Posted: 2019年6月25日(火) 08:45
by マニア~ジュ
ありがとうございます。

そちらのコードを試したところ、選択肢を消すことが出来ました。

ただ、その後のメッセージウインドウも出て来なくなって、次のイベントのセリフが開始したときにフリーズしてしまうという現象が発生しました。

選択肢のウインドウを消すコードを一度実行すると、その後のメッセージウインドウも消去されたままになってしまうのでしょうか?

Re: 選択肢を強制的に閉じる方法

Posted: 2019年6月25日(火) 11:02
by 剣崎 宗二
んー…とすると少し面倒かもです。
と言うのも、何かしらの選択肢を行った、と言う扱いにしなければ次に行かない可能性があるからです。
「キャンセルを押した」と言う扱いで良ければ、

コード: 全て選択

$gameMessage.onChoice($gameMessage.choiceCancelType());
SceneManager._scene._messageWindow.terminateMessage();
SceneManager._scene._messageWindow._choiceWindow.close();
をお試しください。(キャンセルの場合の分岐を中身空白でもいいので入れていることが前提となります)

Re: 選択肢を強制的に閉じる方法

Posted: 2019年6月25日(火) 21:37
by マニア~ジュ
ありがとうございます!
キャンセル扱いでも大丈夫なので助かりました(^o^)/