一括表示

記事No: 21439
タイトル並行起動しているタイマーが終了したとき、会話を強制終了させたい
投稿日: 2022/07/14 17:58
投稿者Tark [rerrrrrdi278(海外)]

[やりたいこと]
タイマーを並行起動しているのだが、会話中にタイマーのカウントが終了したとき会話を強制的に打ち切りたい

[やってみたこと]
■可変DB書込:DB[ 基本システム用変数 : メニュー消去フラグ : 0 ] (18 : 1 : 数値) = 1
を入れることでメニュー画面は閉じられたので、似たようなやり方がないか探してみたのですが見つけられませんでした。


記事No: 21446
タイトルRe: 並行起動しているタイマーが終了したとき、会話を強制終了させたい
投稿日: 2022/07/20 23:29
投稿者YADO [LerLWW459(海外)]

> [やりたいこと]
> タイマーを並行起動しているのだが、会話中にタイマーのカウントが終了したとき会話を強制的に打ち切りたい
>
> [やってみたこと]
> ■可変DB書込:DB[ 基本システム用変数 : メニュー消去フラグ : 0 ] (18 : 1 : 数値) = 1
> を入れることでメニュー画面は閉じられたので、似たようなやり方がないか探してみたのですが見つけられませんでした。

設定例を書いてもそのまま適用できるかどうかは分かりませんが、
例えば以下のようなコモンイベントを設定すると、変数の値が「0」になった時にメッセージウィンドウが閉じます。

コモンイベント/並列実行(常時)
■変数操作: V1[] -= 1 + 0
■変数操作: V1[] 下限= 0 + 0
■条件分岐(変数): 【1】 V1[] が 0 と同じ
-◇分岐: 【1】 [ V1[] が 0 と同じ ]の場合↓
|■文章の強制中断
|■選択肢の強制中断
|■
◇分岐終了◇


WoditorEvCOMMAND_START
[121][4,0]<0>(2000001,1,0,512)()
[121][4,0]<0>(2000001,0,0,1536)()
[111][4,0]<0>(1,2000001,0,2)()
[401][1,0]<0>(1)()
[105][0,0]<1>()()
[104][0,0]<1>()()
[0][0,0]<1>()()
[499][0,0]<0>()()
WoditorEvCOMMAND_END

マップイベントに
■変数操作: V1[] = 120 + 0
■文章:あいうえお
■文章:かきくけこ
■文章:さしすせそ

を設定した場合は、「あいうえお」を表示した2秒後に「文章の強制中断」が実行されます。
2秒以内にキーを押して文章送りを実行しないと、最後の「さしすせそ」まで見る事はできません。

なお
■変数操作: V1[] = 120 + 0
■文章:あいうえお
■ウェイト:30 フレーム
■文章:かきくけこ
■文章:さしすせそ

のように、途中にウェイトがある場合は、「あいうえお」を表示して2秒間待つと、
一旦ウィンドウが閉じ、ウェイト後に再びウィンドウが表示されるが、
何も文字は表示されずにすぐにウィンドウが閉じると言った不自然な動作になります。

不自然な動作を無くすためには
■変数操作: V1[] = 120 + 0
■文章:あいうえお
■回数付きループ [ 30 ]回
|●ラベル「\v[1]」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|■ウェイト:1 フレーム
|■
◇ループここまで◇◇
■文章:かきくけこ
■文章:さしすせそ
●ラベル地点「0」 <<<<<<<<<<<<<<<<<<<<<<<<★

と言ったように、設定方法を工夫する必要があります。


記事No: 21456
タイトルRe: 並行起動しているタイマーが終了したとき、会話を強制終了させたい
投稿日: 2022/08/08 14:40
投稿者Tark [rerrrrrdi278(海外)]

回答の確認遅くなりまして誠にすみません。

改行に応じての調整が必要になるのですね。
現在出先にいるためすぐに確かめることができませんが、戻り次第色々弄ってみようと思います。
回答、ありがとうございました!


記事No: 21457
タイトルRe: 並行起動しているタイマーが終了したとき、会話を強制終了させたい
投稿日: 2022/08/13 15:30
投稿者Tark [rerrrrrdi278(海外)]

遅くなりましたが、恙無く想定どおりの動きをさせることができました。
ありがとうございました。