void OnRotationRecognized(TKRotationRecognizer rotationRecognizer)
 {
     wasTwoFinger = true;
     if (selectedTouchCollider)
     {
         selectedTouchCollider.sticker.Rotate(Vector3.up, rotationRecognizer.deltaRotation * 2.0f);
         manipulating = true;
     }
 }
Пример #2
0
 internal override void touchesMoved(List <TKTouch> touches)
 {
     if ((base.state == TKGestureRecognizerState.RecognizedAndStillRecognizing) || (base.state == TKGestureRecognizerState.Began))
     {
         float current = TKRotationRecognizer.angleBetweenPoints(this.targetPosition, base._trackingTouches[0].position);
         base.deltaRotation     = Mathf.DeltaAngle(current, base._previousRotation);
         base._previousRotation = current;
         base.state             = TKGestureRecognizerState.RecognizedAndStillRecognizing;
     }
 }
        private void OnRotation(TKRotationRecognizer recognizer)
        {
            var delta   = recognizer.deltaRotation;
            var handler = OnRotationHandler;

            if (handler == null)
            {
                return;
            }
            handler(delta);
        }
Пример #4
0
 internal override bool touchesBegan(List <TKTouch> touches)
 {
     if (base.state == TKGestureRecognizerState.Possible)
     {
         base._trackingTouches.Add(touches[0]);
         base.deltaRotation     = 0f;
         base._previousRotation = TKRotationRecognizer.angleBetweenPoints(this.targetPosition, base._trackingTouches[0].position);
         base.state             = TKGestureRecognizerState.Began;
     }
     return(false);
 }
Пример #5
0
    private bool _hasActiveSimulatedTouch;     // are we currently simulating multitouch with active touches (mouse is down)?


    /// <summary>
    /// returns true if mouse input should be processed as touch input. it will be true when the Unity Remote is not active.
    /// </summary>
    private bool shouldProcessMouseInput()
    {
        // check to see if the Unity Remote is active
        if (!_isUnityRemoteActive && Input.touchCount > 0)
        {
            Debug.LogWarning("disabling mouse input because we detected a Unity Remote connected");
            _isUnityRemoteActive = true;
        }


        // if Unity remote is not active and alt is being held down we are simulating multitouch
        if (!_isUnityRemoteActive && (Input.GetKey(KeyCode.LeftAlt) || Input.GetKeyUp(KeyCode.LeftAlt)))
        {
            // record our start position when alt is pressed
            if (Input.GetKeyDown(KeyCode.LeftAlt))
            {
                _simulatedMultitouchStartPosition = Input.mousePosition;
                _isSimulatingMultitouch           = true;
            }
            else if (Input.GetKeyUp(KeyCode.LeftAlt))
            {
                _hasActiveSimulatedTouch = false;
                _isSimulatingMultitouch  = false;
            }
            else
            {
                // a mouse down now results in two touches being created. first we setup the position of the touches based on the original point when alt was pressed
                var radius = Vector3.Distance(Input.mousePosition, _simulatedMultitouchStartPosition);
                var angle  = TKRotationRecognizer.angleBetweenPoints(_simulatedMultitouchStartPosition, Input.mousePosition);
                angle = Mathf.Deg2Rad * angle;

                var opposite = Mathf.Sin(angle) * radius;
                var adjacent = Mathf.Cos(angle) * radius;
                _simulatedMousePosition = new Vector3(_simulatedMultitouchStartPosition.x - adjacent, _simulatedMultitouchStartPosition.y - opposite);

                // if we get a mouse down event its time to populate the touches
                if (Input.GetMouseButtonUp(0) || Input.GetMouseButton(0))
                {
                    _hasActiveSimulatedTouch = true;
                    _liveTouches.Add(_touchCache[0].populateFromMouse());
                    _liveTouches.Add(_touchCache[1].populateFromMouseAtPosition(_simulatedMousePosition));
                }
                else
                {
                    _hasActiveSimulatedTouch = false;
                }
            }
        }

        return(!_isUnityRemoteActive);
    }
        public TouchKitInputSystem()
        {
            panRecognizer      = new TKPanRecognizer();
            pinchRecognizer    = new TKPinchRecognizer();
            rotationRecognizer = new TKRotationRecognizer();

            panRecognizer.gestureRecognizedEvent      += OnPan;
            pinchRecognizer.gestureRecognizedEvent    += OnPinch;
            rotationRecognizer.gestureRecognizedEvent += OnRotation;

            TouchKit.addGestureRecognizer(panRecognizer);
            TouchKit.addGestureRecognizer(pinchRecognizer);
            TouchKit.addGestureRecognizer(rotationRecognizer);
        }
Пример #7
0
    private void Start()
    {
        foreach (OnlineMapsMarker3D marker in markers3D.Where(m => !m.inited))
        {
            marker.control = this;
            marker.Init(transform);
        }
        UpdateMarkers3D();

        var recognizer = new TKRotationRecognizer();

        recognizer.gestureRecognizedEvent += (r) =>
        {
            cameraRotation.y -= recognizer.deltaRotation * cameraSpeed.x;
            Debug.Log("rotation recognizer fired: " + r);
        };
        TouchKit.addGestureRecognizer(recognizer);
    }
 private void OnEnable()
 {
     rotationRecognizer = new TKRotationRecognizer();
     rotationRecognizer.gestureRecognizedEvent += (r) =>
     {
         float rotaionValue = -(r.deltaRotation * 2.0f);
         if (rotationX)
         {
             transform.Rotate(rotaionValue, 0, 0);
         }
         else if (rotationY)
         {
             transform.Rotate(0, rotaionValue, 0);
         }
         else if (rotationZ)
         {
             transform.Rotate(0, 0, rotaionValue);
         }
     };
     TouchKit.addGestureRecognizer(rotationRecognizer);
 }
    void Start()
    {
        Application.targetFrameRate = 60;
        currentStickerParent        = futureWorldStickerParent;
        currentStickerPicker        = futureWorldStickerPicker;
        currentPostProcessVolume    = normalPostProcessVolume;
        currentOverlay = futureWorldOverlay;
        screenCenter   = new Vector3(Screen.width / 2, Screen.height / 2, 0);
        var pinchRecognizer = new TKPinchRecognizer();

        pinchRecognizer.gestureRecognizedEvent += OnPinchRecognized;
        pinchRecognizer.gestureCompleteEvent   += OnGestureComplete;
        TouchKit.addGestureRecognizer(pinchRecognizer);
        var rotationRecognizer = new TKRotationRecognizer();

        rotationRecognizer.gestureRecognizedEvent += OnRotationRecognized;
        TouchKit.addGestureRecognizer(rotationRecognizer);
        var tapRecognizer = new TKTapRecognizer();

        tapRecognizer.gestureRecognizedEvent += OnTapRecognized;
        TouchKit.addGestureRecognizer(tapRecognizer);
        SetupShowMainTableTweens();
    }
Пример #10
0
    private Vector2 _scrollPosition;     // for the scroll view


    void OnGUI()
    {
        GUI.skin.button.padding    = new RectOffset(10, 10, 20, 20);
        GUI.skin.button.fixedWidth = 250;


        GUILayout.BeginArea(new Rect(Screen.width - GUI.skin.button.fixedWidth - 20, 0, GUI.skin.button.fixedWidth + 20, Screen.height));
        _scrollPosition = GUILayout.BeginScrollView(_scrollPosition, GUILayout.Width(GUI.skin.button.fixedWidth + 20), GUILayout.Height(Screen.height));

        if (GUILayout.Button("Add Curve Recognizer"))
        {
            var recognizer = new TKCurveRecognizer();

            recognizer.gestureRecognizedEvent += (r) => {
                cube.Rotate(Vector3.back, recognizer.deltaRotation);
                Debug.Log("curve recognizer fired: " + r);
            };

            recognizer.gestureCompleteEvent += (r) => {
                Debug.Log("curve completed.");
            };

            TouchKit.addGestureRecognizer(recognizer);
        }

        if (GUILayout.Button("Add Tap Recognizer"))
        {
            var recognizer = new TKTapRecognizer();

            // we can limit recognition to a specific Rect, in this case the bottom-left corner of the screen
            recognizer.boundaryFrame = new TKRect(0, 0, 50f, 50f);

            // we can also set the number of touches required for the gesture
            if (Application.platform == RuntimePlatform.IPhonePlayer)
            {
                recognizer.numberOfTouchesRequired = 2;
            }

            recognizer.gestureRecognizedEvent += (r) =>
            {
                Debug.Log("tap recognizer fired: " + r);
            };
            TouchKit.addGestureRecognizer(recognizer);
        }


        if (GUILayout.Button("Add Long Press Recognizer"))
        {
            var recognizer = new TKLongPressRecognizer();
            recognizer.gestureRecognizedEvent += (r) =>
            {
                Debug.Log("long press recognizer fired: " + r);
            };
            recognizer.gestureCompleteEvent += (r) =>
            {
                Debug.Log("long press recognizer finished: " + r);
            };
            TouchKit.addGestureRecognizer(recognizer);
        }


        if (GUILayout.Button("Add Pan Recognizer"))
        {
            var recognizer = new TKPanRecognizer();

            // when using in conjunction with a pinch or rotation recognizer setting the min touches to 2 smoothes movement greatly
            if (Application.platform == RuntimePlatform.IPhonePlayer)
            {
                recognizer.minimumNumberOfTouches = 2;
            }

            recognizer.gestureRecognizedEvent += (r) =>
            {
                Camera.main.transform.position -= new Vector3(recognizer.deltaTranslation.x, recognizer.deltaTranslation.y) / 100;
                Debug.Log("pan recognizer fired: " + r);
            };

            // continuous gestures have a complete event so that we know when they are done recognizing
            recognizer.gestureCompleteEvent += r =>
            {
                Debug.Log("pan gesture complete");
            };
            TouchKit.addGestureRecognizer(recognizer);
        }


        if (GUILayout.Button("Add Horizontal Swipe Recognizer"))
        {
            var recognizer = new TKSwipeRecognizer(TKSwipeDirection.Horizontal);
            recognizer.gestureRecognizedEvent += (r) =>
            {
                Debug.Log("swipe recognizer fired: " + r);
            };
            TouchKit.addGestureRecognizer(recognizer);
        }


        if (GUILayout.Button("Add Pinch Recognizer"))
        {
            var recognizer = new TKPinchRecognizer();
            recognizer.gestureRecognizedEvent += (r) =>
            {
                cube.transform.localScale += Vector3.one * recognizer.deltaScale;
                Debug.Log("pinch recognizer fired: " + r);
            };
            TouchKit.addGestureRecognizer(recognizer);
        }


        if (GUILayout.Button("Add Rotation Recognizer"))
        {
            var recognizer = new TKRotationRecognizer();
            recognizer.gestureRecognizedEvent += (r) =>
            {
                cube.Rotate(Vector3.back, recognizer.deltaRotation);
                Debug.Log("rotation recognizer fired: " + r);
            };
            TouchKit.addGestureRecognizer(recognizer);
        }


        if (GUILayout.Button("Add Button Recognizer"))
        {
            var recognizer = new TKButtonRecognizer(new TKRect(5f, 145f, 80f, 30f), 10f);
            recognizer.zIndex           = 1;
            recognizer.onSelectedEvent += (r) =>
            {
                Debug.Log("button recognizer selected: " + r);
            };
            recognizer.onDeselectedEvent += (r) =>
            {
                Debug.Log("button recognizer deselected: " + r);
            };
            recognizer.onTouchUpInsideEvent += (r) =>
            {
                Debug.Log("button recognizer touch up inside: " + r);
            };
            TouchKit.addGestureRecognizer(recognizer);
        }


        if (GUILayout.Button("Add One Finger Rotation Recognizer"))
        {
            var recognizer = new TKOneFingerRotationRecognizer();
            recognizer.targetPosition          = Camera.main.WorldToScreenPoint(cube.position);
            recognizer.gestureRecognizedEvent += (r) =>
            {
                cube.Rotate(Vector3.back, recognizer.deltaRotation);
                Debug.Log("one finger rotation recognizer fired: " + r);
            };
            TouchKit.addGestureRecognizer(recognizer);
        }


        if (GUILayout.Button("Add Any Touch Recognizer"))
        {
            var recognizer = new TKAnyTouchRecognizer(new TKRect(10, 10, 80, 50));
            recognizer.zIndex          = 1;
            recognizer.onEnteredEvent += (r) =>
            {
                Debug.Log("any touch entered: " + r);
            };
            recognizer.onExitedEvent += (r) =>
            {
                Debug.Log("any touch exited: " + r);
            };
            TouchKit.addGestureRecognizer(recognizer);
        }


        if (GUILayout.Button("Remove All Recognizers"))
        {
            TouchKit.removeAllGestureRecognizers();
        }


        GUILayout.EndScrollView();
        GUILayout.EndArea();
    }
Пример #11
0
    private Vector2 _scrollPosition; // for the scroll view

    #endregion Fields

    #region Methods

    void OnGUI()
    {
        GUI.skin.button.padding = new RectOffset( 10, 10, 20, 20 );
        GUI.skin.button.fixedWidth = 250;

        GUILayout.BeginArea( new Rect( Screen.width - GUI.skin.button.fixedWidth - 20, 0, GUI.skin.button.fixedWidth + 20, Screen.height ) );
            _scrollPosition = GUILayout.BeginScrollView( _scrollPosition, GUILayout.Width( GUI.skin.button.fixedWidth + 20 ), GUILayout.Height( Screen.height ) );

        if( GUILayout.Button( "Add Tap Recognizer" ) )
        {
            var recognizer = new TKTapRecognizer();

            // we can limit recognition to a specific Rect, in this case the bottom-left corner of the screen
            recognizer.boundaryFrame = new TKRect( 0, 0, 50f, 50f );

            // we can also set the number of touches required for the gesture
            if( Application.platform == RuntimePlatform.IPhonePlayer )
                recognizer.numberOfTouchesRequired = 2;

            recognizer.gestureRecognizedEvent += ( r ) =>
            {
                Debug.Log( "tap recognizer fired: " + r );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Add Long Press Recognizer" ) )
        {
            var recognizer = new TKLongPressRecognizer();
            recognizer.gestureRecognizedEvent += ( r ) =>
            {
                Debug.Log( "long press recognizer fired: " + r );
            };
            recognizer.gestureCompleteEvent += ( r ) =>
            {
                Debug.Log( "long press recognizer finished: " + r );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Add Pan Recognizer" ) )
        {
            var recognizer = new TKPanRecognizer();

            // when using in conjunction with a pinch or rotation recognizer setting the min touches to 2 smoothes movement greatly
            if( Application.platform == RuntimePlatform.IPhonePlayer )
                recognizer.minimumNumberOfTouches = 2;

            recognizer.gestureRecognizedEvent += ( r ) =>
            {
                Camera.main.transform.position -= new Vector3( recognizer.deltaTranslation.x, recognizer.deltaTranslation.y ) / 100;
                Debug.Log( "pan recognizer fired: " + r );
            };

            // continuous gestures have a complete event so that we know when they are done recognizing
            recognizer.gestureCompleteEvent += r =>
            {
                Debug.Log( "pan gesture complete" );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Add TouchPad Recognizer" ) )
        {
            var recognizer = new TKTouchPadRecognizer( new TKRect( 0f, 50f, 80f, 50f ) );
            recognizer.inputCurve = touchPadInputCurve;

            recognizer.gestureRecognizedEvent += ( r ) =>
            {
                //Camera.main.transform.position -= new Vector3( recognizer.deltaTranslation.x, recognizer.deltaTranslation.y ) / 100;
                Debug.Log( "touchpad recognizer fired: " + r );
            };

            // continuous gestures have a complete event so that we know when they are done recognizing
            recognizer.gestureCompleteEvent += r =>
            {
                Debug.Log( "touchpad gesture complete" );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Add Horizontal Swipe Recognizer" ) )
        {
            var recognizer = new TKSwipeRecognizer();
            recognizer.gestureRecognizedEvent += ( r ) =>
            {
                Debug.Log( "swipe recognizer fired: " + r );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Add Top-Right Swipe Recognizer" ) )
        {
            var recognizer = new TKAngleSwipeRecognizer();
            recognizer.addAngleRecogizedEvents (
                (TKAngleSwipeRecognizer r) => {
                    Debug.Log( "Top-Right angle swipe fired " + r );
                }, new Vector2(1,1), 45);

            recognizer.gestureRecognizedEvent += r => {
                // You can also do ordinary event, which fires at any angle
                // Debug.Log( "angle swipe recognizer fired: " + r );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Add Pinch Recognizer" ) )
        {
            var recognizer = new TKPinchRecognizer();
            recognizer.gestureRecognizedEvent += ( r ) =>
            {
                cube.transform.localScale += Vector3.one * recognizer.deltaScale;
                Debug.Log( "pinch recognizer fired: " + r );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Add Rotation Recognizer" ) )
        {
            var recognizer = new TKRotationRecognizer();
            recognizer.gestureRecognizedEvent += ( r ) =>
            {
                cube.Rotate( Vector3.back, recognizer.deltaRotation );
                Debug.Log( "rotation recognizer fired: " + r );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Add Button Recognizer" ) )
        {
            var recognizer = new TKButtonRecognizer( new TKRect( 5f, 145f, 80f, 30f ), 10f );
            recognizer.zIndex = 1;
            recognizer.onSelectedEvent += ( r ) =>
            {
                Debug.Log( "button recognizer selected: " + r );
            };
            recognizer.onDeselectedEvent += ( r ) =>
            {
                Debug.Log( "button recognizer deselected: " + r );
            };
            recognizer.onTouchUpInsideEvent += ( r ) =>
            {
                Debug.Log( "button recognizer touch up inside: " + r );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Add One Finger Rotation Recognizer" ) )
        {
            var recognizer = new TKOneFingerRotationRecognizer();
            recognizer.targetPosition = Camera.main.WorldToScreenPoint( cube.position );
            recognizer.gestureRecognizedEvent += ( r ) =>
            {
                cube.Rotate( Vector3.back, recognizer.deltaRotation );
                Debug.Log( "one finger rotation recognizer fired: " + r );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Add Any Touch Recognizer" ) )
        {
            var recognizer = new TKAnyTouchRecognizer( new TKRect( 10, 10, 80, 50 ) );
            recognizer.zIndex = 1;
            recognizer.onEnteredEvent += ( r ) =>
            {
                Debug.Log( "any touch entered: " + r );
            };
            recognizer.onExitedEvent += ( r ) =>
            {
                Debug.Log( "any touch exited: " + r );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Add Curve Recognizer" ) )
        {
            var recognizer = new TKCurveRecognizer();

            recognizer.gestureRecognizedEvent += ( r ) =>
            {
                cube.Rotate( Vector3.back, recognizer.deltaRotation );
                Debug.Log( "curve recognizer fired: " + r );
            };

            recognizer.gestureCompleteEvent += ( r ) =>
            {
                Debug.Log( "curve completed.");
            };

            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Remove All Recognizers" ) )
        {
            TouchKit.removeAllGestureRecognizers();
        }

            GUILayout.EndScrollView();
        GUILayout.EndArea();
    }
Пример #12
0
    private Vector2 _scrollPosition; // for the scroll view

    #endregion Fields

    #region Methods

    void OnGUI()
    {
        //GUI.matrix = Matrix4x4.Scale( new Vector3( 1.5f, 1.5f, 1.5f ) );
        GUI.skin.button.padding = new RectOffset( 10, 10, 20, 20 );
        GUI.skin.button.fixedWidth = 250;

        GUILayout.BeginArea( new Rect( Screen.width - GUI.skin.button.fixedWidth - 20, 0, GUI.skin.button.fixedWidth + 20, Screen.height ) );
            _scrollPosition = GUILayout.BeginScrollView( _scrollPosition, GUILayout.Width( GUI.skin.button.fixedWidth + 20 ), GUILayout.Height( Screen.height ) );

        if( GUILayout.Button( "Add Tap Recognizer" ) )
        {
            var recognizer = new TKTapRecognizer();

            // we can limit recognition to a specific Rect, in this case the bottom-left corner of the screen
            recognizer.boundaryFrame = new TKRect( 50, 50, 400, 400 );

            // we can also set the number of touches required for the gesture
            if( Application.platform == RuntimePlatform.IPhonePlayer )
                recognizer.numberOfTouchesRequired = 2;

            recognizer.gestureRecognizedEvent += ( r ) =>
            {
                Debug.Log( "tap recognizer fired: " + r );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Add Long Press Recognizer" ) )
        {
            var recognizer = new TKLongPressRecognizer();
            recognizer.gestureRecognizedEvent += ( r ) =>
            {
                Debug.Log( "long press recognizer fired: " + r );
            };
            recognizer.gestureCompleteEvent += ( r ) =>
            {
                Debug.Log( "long press recognizer finished: " + r );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Add Pan Recognizer" ) )
        {
            var recognizer = new TKPanRecognizer();

            // when using in conjunction with a pinch or rotation recognizer setting the min touches to 2 smoothes movement greatly
            if( Application.platform == RuntimePlatform.IPhonePlayer )
                recognizer.minimumNumberOfTouches = 2;

            recognizer.gestureRecognizedEvent += ( r ) =>
            {
                Camera.mainCamera.transform.position -= new Vector3( recognizer.deltaTranslation.x, recognizer.deltaTranslation.y ) / 100;
                Debug.Log( "pan recognizer fired: " + r );
            };

            // continuous gestures have a complete event so that we know when they are done recognizing
            recognizer.gestureCompleteEvent += r =>
            {
                Debug.Log( "pan gesture complete" );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Add Horizontal Swipe Recognizer" ) )
        {
            var recognizer = new TKSwipeRecognizer( TKSwipeDirection.Horizontal );
            recognizer.gestureRecognizedEvent += ( r ) =>
            {
                Debug.Log( "swipe recognizer fired: " + r );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Add Pinch Recognizer" ) )
        {
            var recognizer = new TKPinchRecognizer();
            recognizer.gestureRecognizedEvent += ( r ) =>
            {
                cube.transform.localScale += Vector3.one * recognizer.deltaScale;
                Debug.Log( "pinch recognizer fired: " + r );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Add Rotation Recognizer" ) )
        {
            var recognizer = new TKRotationRecognizer();
            recognizer.gestureRecognizedEvent += ( r ) =>
            {
                cube.Rotate( Vector3.back, recognizer.deltaRotation );
                Debug.Log( "rotation recognizer fired: " + r );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Add Button Recognizer" ) )
        {
            var recognizer = new TKButtonRecognizer( new TKRect( 300, 30, 278, 90 ), 20 );
            recognizer.zIndex = 1;
            recognizer.onSelectedEvent += ( r ) =>
            {
                Debug.Log( "button recognizer selected: " + r );
            };
            recognizer.onDeselectedEvent += ( r ) =>
            {
                Debug.Log( "button recognizer deselected: " + r );
            };
            recognizer.onTouchUpInsideEvent += ( r ) =>
            {
                Debug.Log( "button recognizer touch up inside: " + r );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Add One Finger Rotation Recognizer" ) )
        {
            var recognizer = new TKOneFingerRotationRecognizer();
            recognizer.targetPosition = Camera.mainCamera.WorldToScreenPoint( cube.position );
            recognizer.gestureRecognizedEvent += ( r ) =>
            {
                cube.Rotate( Vector3.back, recognizer.deltaRotation );
                Debug.Log( "one finger rotation recognizer fired: " + r );
            };
            TouchKit.addGestureRecognizer( recognizer );
        }

        if( GUILayout.Button( "Remove All Recognizers" ) )
        {
            TouchKit.removeAllGestureRecognizers();
        }

            GUILayout.EndScrollView();
        GUILayout.EndArea();
    }
Пример #13
0
 void rotatePaddle(TKRotationRecognizer r)
 {
     rotatePaddle(-r.deltaRotation);
 }
Пример #14
0
    void setupGestures()
    {
        this.panner = new TKPanRecognizer();
        this.rotater = new TKRotationRecognizer();
        this.tapper = new TKTapRecognizer();

        // when using in conjunction with a pinch or rotation recognizer setting the min touches to 2 smoothes movement greatly
        if (Application.platform == RuntimePlatform.IPhonePlayer) {
          this.panner.minimumNumberOfTouches = 2;
        }

        this.panner.gestureRecognizedEvent += this.movePaddle;
        this.rotater.gestureRecognizedEvent += this.rotatePaddle;
        this.tapper.gestureRecognizedEvent += this.startBallEvent;

        TouchKit.addGestureRecognizer(this.panner);
        TouchKit.addGestureRecognizer(this.rotater);
        TouchKit.addGestureRecognizer(this.tapper);
    }