static private void onTouchMoved(TouchEvent touchEvent) { if (lastTouchEvent.id != touchEvent.id) { return; } // まだフリック入力の判定時間である if (isFlick(lastTouchEvent.time, touchEvent.time)) { return; } if (OnSwipe != null) { OnSwipe(lastTouchEvent, touchEvent); } isSwiping = true; }
static private void onTouchEnded(TouchEvent touchEvent) { isSwiping = false; if (lastTouchEvent.id != touchEvent.id) { return; } // ここで普通のタッチかフリックorスワイプかを分岐する if (calculateTouchDistance(lastTouchEvent.position, touchEvent.position) < 20.0f) { // このときはタッチ if (OnTouch != null) { OnTouch(lastTouchEvent, touchEvent); } return; } // ここでフリックとスワイプどちらかのイベントを発行する if (isFlick(lastTouchEvent.time, touchEvent.time)) { // フリックの判定時間内 if (OnFlick != null) { OnFlick(lastTouchEvent, touchEvent); } } else { if (OnSwipeEnded != null) { OnSwipeEnded(lastTouchEvent, touchEvent); } } }
static private void onTouchBegan(TouchEvent touchEvent) { lastTouchEvent = touchEvent; }