移動無しに放されたらクリックと判定
一定時間以上押されてたら移動が無くてもクリックとは判定しない
NO.48385のを利用するとこんな感じ
#module //2点(x1,x2)(y1,y2)間の距離を計算
#deffunc CalcDist int x1, int y1, int x2, int y2
Distance = 0.0
if x1 != x2 : Distance + powf( abs(x1-x2),2 )
if y1 != y2 : Distance + powf( abs(y1-y2),2 )
return int( sqrt(Distance) ) //移動距離を整数型で返す
#global
repeat
getkey Click,1
if Click = 1{
if Click_stat = 0{
title ""
scnt=cnt//クリックされた時のcnt記憶
Click_stat = 1
SetPosition = mousex,mousey //距離の計算に使用する座標を記録
}
if Click_stat = 1{
CalcDist mousex,mousey,SetPosition(0),SetPosition(1)
DistCount + stat
if DistCount {
df=1//動いた
}
if DistCount >= 100{ //移動距離の合計が100ピクセルを超えたら・・・
mes "100ピクセル動いたよー"
Click_stat = 2
DistCount = 0
}
line mousex,mousey,SetPosition(0),SetPosition(1)
SetPosition = mousex,mousey //距離の計算に使用する座標を記録
}
}else {
if (cnt-scnt)<30 and df=0 and Click_stat>0{
if sc=0 or (scnt-sc)>10{sc=cnt : title "クリック"}else{sc=0 : title "ダブルクリック"}
}
if df=1 {title "スワイプ"}
df=0
Click_stat = 0 : DistCount = 0
}
await 10
loop