Top/Tips/指定秒数経過後にイベントを実行
  トップページへ   [ 一覧 | 検索 | 最終更新 ]   [ 差分 | バックアップ ]

*指定秒数経過後にイベントを実行 [#v62c02bc]

はろーYAYAわーるどかSimpleYAYAテンプレートのyaya_shiori3.dicにある、SetDelayEvent関数を使用した例。
**SetDelayEvent関数での例 [#yb46ddba]

-はろーYAYAわーるどかSimpleYAYAテンプレートのyaya_shiori3.dicにある、[[SetDelayEvent関数>システム辞書/yaya_shiori3.dic#pe13c64e]]を使用しています。

#code(aya,nonumber,nooutline,nolink){{
5秒待たせるイベント
30秒待たせるイベント
{
	"\0\s[0]それでは5秒お待ち下さい。\e"
	"\0\s[0]それでは30秒お待ち下さい。\e"
 
	SHIORI3FW.SetDelayEvent( '5秒待った' , 5 )
	SHIORI3FW.SetDelayEvent( '30秒待った' , 30 )
}

5秒待った
30秒待たせるイベント_残り時間確認
{
	"\0\s[0]残り%(SHIORI3FW.DelayEventTime)秒です。\e"
}

30秒待った
{
	"\0\s[0]お待たせしました。\e"
}
}}

**残り時間も取得する [#p00caaf9]
**自作関数での例 [#p00caaf9]

#code(aya,nonumber,nooutline,nolink){{
OnSecondChange { //これ以外は自作関数
	if timerFlag == 1 {
		OnTimerCounter
	}
}

OnTimerStart { //OnTimerStart(60)とかで呼び出す。
	timerFlag = 1
	timerCount_s = _argv[0]//timerCount_sの現在値が残り時間。
}

OnTimerCounter { //計測中処理
	timerCount_s--
	if timerCount_s <= 0 { //タイマ終了処理
			OnTimerEnd
	}
}

OnTimerEnd {
	timerFlag = 0
	timerCount_s = 0
	//タイマ終了時に何か処理する場合このへんに書く
}
}}

タイマを同時にいくつか計測したい場合は、もう少し工夫が必要です。