repeat-loopの繰り返しをキー押しで抜けるように設計を試みているのですが
キーを押しても反応せず、ループが繰り返される状況です。
参考にできそうな情報を発見できなかったため、質問させていただきました。
想定している事柄は以下の通りです。
・正方形を1秒間隔で3つ描画することを繰り返し、Aキーの入力によりループを抜ける。
・Aキーが入力されたタイミングではなく、入力があった周で繰り返しを終了する。
(例えば、繰り返し3回目、1つ目の正方形が描画されたタイミングでキーが押された場合、
3つ目の正方形を描画してからbreak)
・キー押しがあったタイミングで、timeGetTime()により時間を記録する。
現在のスクリプトはこのようになっています。
#const ITI 1000 #uselib "winmm.dll" #cfunc timegettime "timeGetTime" #func timeBeginPeriod "timeBeginPeriod" int #func timeEndPeriod "timeEndPeriod" int timeBeginPeriod 1 bgscr 1, ginfo_dispx, ginfo_dispy await ITI repeat getkey A, 65 if A = 1 : break cls 0 await ITI boxf ginfo_dispx/2-250, ginfo_dispy/2-50, ginfo_dispx/2-150, ginfo_dispy/2+50 await ITI boxf ginfo_dispx/2-50, ginfo_dispy/2-50, ginfo_dispx/2+50, ginfo_dispy/2+50 await ITI boxf ginfo_dispx/2+150, ginfo_dispy/2-50, ginfo_dispx/2+250, ginfo_dispy/2+50 await ITI loop timeEndPeriod 1 end
どなたか知恵をお貸しいただければ幸いです。
初の投稿なので不備があるかもしれません、ご指摘お願いいたします。