一定の時間で待つ(タイマーループ割り込み+oncmd等の割り込みジャンプに対応)
timer_awaiton p1
(プラグイン / モジュール : mod_TimerRepeat)
プログラムの実行を一定時間だけ中断します。 timer_waiton のawait版です。 詳細はtimer_waitonの頁を参照ください。
wait 100 ループ ×3回 ・・1000ms・・□処理(200ms)□・・1000ms・・□処理(350ms)□・・1000ms・・ →合計3550ms await 1000 ループ ×3回 ・・1000ms・・□処理(200ms)□・800ms・□処理(350ms)□・650ms・ →合計3000ms awaitは処理がかかった分を自動で差し引いて待ちます。 mod_TimerRepeat.hsp をインクルードした時点で、通常のwait(await,stop)命令がtimer_waiton(timer_awaiton,timer_stop)の機能で上書きされます。(waitと書いてもtimer_waitonの処理が実行されます。)
// // waitとawaitの違い // ※ mod_TimerRepeat.hspによって waitとawaitの機能は上書きされています。 // #include "mod_TimerRepeat.hsp" onkey gosub *key onclick gosub *click t2 = timer_getTime() //wait repeat 10 wait 100 t1=timer_getTime() mes "wait "+cnt+" : "+(t1-t2)+"ms",1 t2=t1 repeat 1000 ;ちょっとだけ重たい処理 title ""+cnt loop mes " /処理 "+(timer_getTime()-t2)+"ms" :pos 0 loop mes //await repeat 10 await 1000 t1=timer_getTime() mes "await "+cnt+" : "+(t1-t2)+"ms",1 t2=t1 repeat 1000 ;ちょっとだけ重たい処理 title ""+cnt loop mes " /処理 "+(timer_getTime()-t2)+"ms" :pos 0 loop stop *key title strf("key - %d, click - %d", keyc, clickc) : keyc++ return *click title strf("key - %d, click - %d", keyc, clickc) : clickc++ return
09.waitとawaitの違い/timer_waitonとtimer_awaitonの効果.hsp | title ""+cnt loop mes " / 重たい処理 "+(d3timer()-t2)+"ms" :.. |
プラグイン / モジュール | mod_TimerRepeat |
バージョン | 2.5 |
作成日 | 2024/1/5 |
著作者 | MIZUSHIKI |
URL | http://suwa.pupu.jp/ |
備考 | mod_TimerRepeat.hspをインクルードすること。 |
タイプ | 拡張命令 |
グループ | プログラム制御命令 |
対応環境 | ・Windows 版 HSP |