トピック
りょう ryo1139

タッチ命令 TOUCT OUT で タッチしている間ずっと反応してしまうんですけど、どうしたら一回だけの反応にできるんですか?

0そうだね
プレイ済み
返信[1]
親投稿
********** itd12d
TOUCH OUT STTM,TX,TYのことですよね? IF STTM THENの場合、STTMが0以外、ということになります。 STTMはタッチしている間ずっと加算され続けます。 そのため、IF STTM==1 THEN のようにする必要があります。
0そうだね
プレイ済み
返信[2]
親投稿
STC=0 @L TOUCH OUT T,X,Y IF T==0 THEN STC=0 IF STC==1 THEN @L IF STC==0 && T!=0 THEN BEEP:STC=1 GOTO @L ちょい適当ですが「タッチした瞬間だけBEEPを鳴らす」プログラムです。 要は「タッチした時にフラグを立て、フラグが立ったままだとループ、離すと解放」という事です。
0そうだね
プレイ済み
返信[3]
親投稿
おちゃめ ochame_nako
タッチの情報は1フレームごとに更新されているためタッチした瞬間のみ反応するようにするためにはループ中にVSYNCを入れる必要があります。 そうすればタッチした際に1回のみ反応できるようになります。 CLS WHILE 1  TOUCH OUT T,X,Y  IF T==1 THEN PRINT "タッチしたよ"  VSYNC WEND VSYNCを削除したときの動作と比較してその効果を確かめてみてください。
0そうだね
プレイ済み
返信[4]
親投稿
りょう ryo1139
ありがとうございます。 ためしてみます
0そうだね
プレイ済み