08/10/17 02:00:16 oVEtfo8A0
>>18
用途によっては自力実装も必要なので、ざっとやり方を書くと
■スワイプ
・開始~移動~終了 までのタッチを記録する。
・相互に近すぎる点をノイズとして除去
・移動中のTouchの全ての点が、開始点・終了点を結ぶ直線から一定距離以内かつ、前後の点の成す角がだいたい同じならスワイプ。
■拡大縮小
・TouchEventが2つあるのをチェック
・タッチ開始時の2点の距離を1として、touchMove時の2点の距離との比が拡大率。
■回転
・TouchEventが2つあるのをチェック
・タッチ開始時の2点を結ぶ直線の成す角を取得し、touchMove時の成す角との差分が回転角。
■円ジェスチャー
・開始~移動~終了 までのタッチを記録する。
・相互に近すぎる点をノイズとして除去
・全ての点の座標の平均を中心とし、touchMove時の座標が時計回り/反時計回りに移動しているかチェック。
・全ての点と中心との距離が一定の範囲内にあるかチェック
四角とか三角とかジグザグとかも検出できるけど、メンドイので省略