トピック
けんご kennmasa28

制限時間の作り方が分かりません。

たとえば10秒間に連打したAボタンの数を数えたい場合、僕は最初このようにしたのですが @LOOP X=BUTTON(2) IF X==16 THEN Y=Y+1 Z=Z+1 'Zは時間をカウントしている WAIT 60 IF Z==10 THEN PRINT Y:END GOTO @LOOP しかしこれだと、きちんと10秒後にスコアが表示されるのはいいのですが、ボタン入力が1秒に一回しか判定されません。WAITを使わずに10秒測る方法はありませんか?
1そうだね
プレイ済み
返信[1]
親投稿
ΖΕΧ ZEX256
VSYNC を呼べば、1/60秒毎に戻ってくる 60回ループすれば約1秒
2そうだね
プレイ済み
返信[2]
親投稿
ΖΕΧ ZEX256
正確なことは、これ読んでね http://ochameclub.web.fc2.com/petitcom3/lecture/vsync.htm
0そうだね
プレイ済み
返信[3]
親投稿
Hanzo rzsense
まず、ループに入る前に、Y=0:Z=0 を実行しましょう。 で、ループ自体は FOR I=1 TO 600~NEXT I として、Z=Z+1 を Z=Z+((I MOD 60)==0)、WAIT 60 を VSYNC 1 としてみてください。
1そうだね
プレイ済み
返信[4]
親投稿
Hanzo rzsense
考えてみれば、添付でよかった。
3そうだね
プレイ済み
返信[5]
親投稿
いぶき ibuki426
MAINCNT使ったら? CNT=0 START=MAINCNT WHILE 1 B=BUTTON(2) IF B AND #A THEN INC CNT IF MAICNT>START+600 THEN BREAK VSYNC 1 WEND PRINT CNT;"かい" 画面スクショじゃなくてすいません、PCからです。
1そうだね
プレイ済み
返信[6]
親投稿
けんご kennmasa28
ご回答ありがとうございました
0そうだね
プレイ済み