*指定秒数経過後にイベントを実行 [#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
//タイマ終了時に何か処理する場合このへんに書く
}
}}
タイマを同時にいくつか計測したい場合は、もう少し工夫が必要です。