// Update is called once per frame void Update() { if (Input.touchCount == 1 && !DragCameraZoom.b_IsTouch2) { touch = Input.GetTouch(0); if (touch.phase == TouchPhase.Began) { OnTouchBegan?.Invoke(); } if (touch.phase == TouchPhase.Moved) { OnTouchMoved?.Invoke(); } else if (touch.phase == TouchPhase.Ended) { OnTouchEnded?.Invoke(); } } }
internal void InvokeTouchMoved(long id, float x, float y, float dx, float dy, float pressure) { OnTouchMoved?.Invoke(id, x, y, dx, dy, pressure); TouchMoved(id, x, y, dx, dy, pressure); }
/// <summary> /// 更新中の場合 /// </summary> private void Update() { // UIを選択した場合ここで処理終了 if (IsSelectedUI()) { return; } #if UNITY_EDITOR // UNITYエディタの場合 if (Input.GetMouseButtonDown(0)) { OnTouchBegan?.Invoke(); } else if (Input.GetMouseButton(0)) { OnTouchMoved?.Invoke(); } else if (Input.GetMouseButtonUp(0)) { OnTouchEnded?.Invoke(); } #else // 実機の場合 if (Input.touchCount > 0) { // 0番目のタッチ取得 var touch = Input.GetTouch(0); switch (touch.phase) { case TouchPhase.Began: { OnTouchBegan?.Invoke(); } break; case TouchPhase.Moved: { OnTouchMoved?.Invoke(); } break; case TouchPhase.Ended: { OnTouchEnded?.Invoke(); } break; case TouchPhase.Stationary: { OnTouchStationary?.Invoke(); } break; case TouchPhase.Canceled: { OnTouchCanceled?.Invoke(); } break; } } #endif }