Beispiel #1
0
    public override void Create()
    {
        TouchMovX             = 0.0f;
        TouchMovY             = 0.0f;
        RotateTouchMovX       = 0.0f;
        RotateTouchMovY       = 0.0f;
        touchDelta            = 0.0f;
        speedTouch0           = 0.0f;
        speedTouch1           = 0.0f;
        minPinchSpeed         = 5.0f;
        varianceInDistances   = 5.0f;
        bIsTouch              = false;
        TowFingerTouch        = false;
        bIsTowFingerTouchMove = false;

        m_TouchPos          = Vector3.zero;
        Touch1_OriginPos    = Vector2.zero;
        Touch2_OriginPos    = Vector2.zero;
        TwoTouch1_OriginPos = Vector2.zero;
        TwoTouch2_OriginPos = Vector2.zero;
        prevDist            = Vector2.zero;
        curDist             = Vector2.zero;
        Touch_prevDist      = Vector2.zero;
        Touch_curDist       = Vector2.zero;

        ZoomState           = (int)ZOOM_STATE._NULL;
        TouchZoomInOutState = (int)TOUCH_ZOOM_IN_OUT_STATE._NULL;
        TwoFingerStepState  = TWO_FINGER_STEP._NULL;
    }
Beispiel #2
0
 public override void SetTwoFingerStateStarRotate()
 {
     TwoFingerStepState = TWO_FINGER_STEP._STAR_ROTATE;
     SetTwoFingerState(TWO_FINGER_STATE._STAR_ROTATE);
 }
Beispiel #3
0
 public override void ReSetTwoFingerState()
 {
     TwoFingerStepState = TWO_FINGER_STEP._NULL;
     SetTwoFingerState(TWO_FINGER_STATE._NULL);
 }
Beispiel #4
0
    public override void SetTwoFingerStepState()
    {
        if (Input.touchCount != 2)
        {
            SetTwoFingerState(TWO_FINGER_STATE._NULL);
            TwoFingerStepState = TWO_FINGER_STEP._NULL;
        }
        if (TwoFingerStepState == TWO_FINGER_STEP._NULL)
        {
            TwoFingerStepState = TWO_FINGER_STEP._FIRST_TOUCH;
        }
        else if (TwoFingerStepState == TWO_FINGER_STEP._FIRST_TOUCH)
        {
            ResetAxis();
            TwoTouch1_OriginPos = Input.GetTouch(0).position;
            TwoTouch2_OriginPos = Input.GetTouch(1).position;

            TwoFingerStepState = TWO_FINGER_STEP._CHOICE;
        }
        else if (TwoFingerStepState == TWO_FINGER_STEP._CHOICE_WAIT)
        {
            ResetAxis();
            SetTwoFingerState(TWO_FINGER_STATE._NULL);
            TwoFingerStepState = TWO_FINGER_STEP._CHOICE;
        }
        else if (TwoFingerStepState == TWO_FINGER_STEP._CHOICE)
        {
            Vector2 Pos  = TwoTouch1_OriginPos - Input.GetTouch(0).position;
            Vector2 Pos2 = TwoTouch2_OriginPos - Input.GetTouch(1).position;

            if (Pos == Pos2)
            {
                ResetAxis();
                SetTwoFingerState(TWO_FINGER_STATE._NULL);
                TwoFingerStepState = TWO_FINGER_STEP._NULL;
                return;
            }
            float GapX  = Mathf.Abs(Pos.x);
            float GapY  = Mathf.Abs(Pos.y);
            float GapX2 = Mathf.Abs(Pos2.x);
            float GapY2 = Mathf.Abs(Pos2.y);

            if (GapX >= 15 || GapY >= 15 || GapX2 >= 15 || GapY >= 15)
            {
            }
            else
            {
                TwoFingerStepState = TWO_FINGER_STEP._CHOICE_WAIT;
                return;
            }

            if ((Pos.x > 0.0f && Pos2.x > 0.0f) || (Pos.x < 0.0f && Pos2.x < 0.0f))
            {
                TwoFingerStepState = TWO_FINGER_STEP._MOVE;
            }
            else
            {
                TwoFingerStepState = TWO_FINGER_STEP._SMOTH_ZOOM_IN_OUT;
            }
        }
        else if (TwoFingerStepState == TWO_FINGER_STEP._SMOTH_ZOOM_IN_OUT)
        {
            SetTwoFingerState(TWO_FINGER_STATE._SMOTH_ZOOM_IN_OUT);
        }
        else if (TwoFingerStepState == TWO_FINGER_STEP._MOVE)
        {
            SetTwoFingerState(TWO_FINGER_STATE._MOVE);
        }
    }