HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0811
大富豪Aウィンドウ内のスワイプ処理2解決


大富豪A

リンク

2012/8/11(Sat) 23:18:48|NO.48444

前回のスワイプでてれてれさんとk5342さんが考えてくれたスワイプの方法ですが、
スワイプとクリックを分けることはできますか?
よろしくおなげいします!



この記事に返信する


暇人

リンク

2012/8/11(Sat) 23:39:29|NO.48445

移動無しに放されたらクリックと判定
一定時間以上押されてたら移動が無くてもクリックとは判定しない

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



大富豪A

リンク

2012/8/12(Sun) 11:18:50|NO.48452

>暇人さん
無事にクリックできました。
悪口に聞こえるかもしれませんが、ちょっと敏感ですね、、、
ウィンドウ外でも非アクティブでもお構いなしに反応してくれます。
一応、修正できましたのであまり気にしないでくださいね。



ONION software Copyright 1997-2023(c) All rights reserved.