初歩的な処理なのですが

55 views
Skip to first unread message

Kanzaki Aoi

unread,
May 16, 2025, 12:31:11 AM5/16/25
to 宴ユーザーグループ
現在、SendMessageでの処理で以下を想定しております。

SendMessageで黒背景にボタンを表示
ボタンをクリックすると
①黒背景とボタンが消える
②engine.JumpScenarioで指定のラベルにジャンプ
という処理を書きましたが、

ボタンをクリックすると
①は処理されますが、
次のテキストが表示されてしまう。(多分背景が表示されている時にバックで表示されていたと想定されるテキスト)

もう一度クリックする(テキスト送り)で②の処理が開始されます。
engine.JumpScenarioを処理する際に何かwaitなどの処理が必要なのでしょうか?

マッドネスラボ

unread,
May 16, 2025, 5:05:40 AM5/16/25
to 宴ユーザーグループ
すみません。SendMessage内部の実装は独自実装になるので、本来どういう動作を想定していてなにが問題になっているのかがわからないです。

SendMessageコマンドで、「黒背景とボタンを表示して、ボタンを押すまではシナリオを止める」としたいのに
「黒背景で隠している状態になっているだけで、シナリオが実行され続けていて想定外の動作をしている」ということでしょうか?

SendMessageコマンド自体は、デフォルトでは待機処理をしないので、すぐに次のコマンドを実行してシナリオが実行されます。
つまり、「ボタンを押すまでシナリオを止める」としたいのであれば、
SendMessageコマンドに待機処理が必要になります。
とすると、待機になります。
待機を解除するには、command.IsWait = false;とする必要がありますが、JumpScenarioをするなら中断されるので特に待機解除を処理は必要ないです。

>engine.JumpScenarioを処理する際に何かwaitなどの処理が必要なのでしょうか?
いえ、特に必要ないです。
JumpScenario自体は即座に実行されますが、意図せずにシナリオが実行状態になっているのであれば、上記のようにシナリオを止めておいたほうが無難です。

2025年5月16日金曜日 13:31:11 UTC+9 kanzaki...@gmail.com:
Reply all
Reply to author
Forward
0 new messages