how to get gesture

Hi

how to get user touch input as gesture, suppose there is a arrow and user want to get a gesture of that arrow from a touch so how could we get that gesture from a swipe???

suppose user make a right arrow or other directional arrow on screen by gesture touch then how we get which arrow or fig user draw on screen

thanks in advance

You could start with the FingerManager script from the wiki and then detect the gesture by using Touch.position and Touch.deltaPosition.

This might be a good place to start, its what I’m using as reference.

/* this variable is used to make use of the swipe. Once a swipe is detected
 * a function called Swipe(swipeType : Vector2) is called
 */

var controller : PlayerController;

// variables:

private var fingerStartTime : float   = 0.0;
private var fingerStartPos  : Vector2 = Vector2.zero;
 
private var isSwipe         : boolean = false;
private var minSwipeDist    : float   = 50.0;
private var maxSwipeTime    : float   = 0.5;
 
// main function:
function Update()
{
    if (Input.touchCount > 0)
    {
        for (touch : Touch in Input.touches)
        {
            switch (touch.phase)
            {
                case TouchPhase.Began :
                    /* this is a new touch */
                    isSwipe = true;
                    fingerStartTime = Time.time;
                    fingerStartPos = touch.position;
                    break;

                case TouchPhase.Canceled :
                    /* The touch is being canceled */
                    isSwipe = false;
                    break;

                case TouchPhase.Ended :
                    var gestureTime : float = Time.time - fingerStartTime;
                    var gestureDist : float = (touch.position - fingerStartPos).magnitude
                    
                    if (isSwipe && gestureTime < maxSwipeTime && gestureDist > minSwipeDist)
                    {
                        var direction : Vector2 = touch.position - fingerStartPos;
                        var swipeType : Vector2 = Vector2.zero;
                        
                        if (Mathf.Abs(direction.x) > Mathf.Abs(direction.y)
                        {
                            // the swipe is horizontal:
                            swipeType = Vector2.right * Mathf.Sign(direction.x);
                        }
                        else
                        {
                            // the swipe is vertical:
                            swipeType = Vector2.up * Mathf.Sign(direction.y);
                        }
                        
                        controller.Swipe(swipeType);
                    }

                    break;
                }
            }
        }
    }
}