public void ButtonDown(BaseEventData eventData)
    {
        //Debug.Log("down");
        stateTouch = TOUCH_STASE.STATE_DOWN;
        timePress = 0;
        is_not_hold = false;
        IS_USING_TJOYSTICK = true;
        D = ((PointerEventData)eventData).position  - POSISTION2;
        if (Mathf.Sqrt(D.x * D.x + D.y * D.y) > DISTANCE)
        { D.Normalize(); D *= DISTANCE; }
        image.rectTransform.localPosition = D;
        OUTPUT_POS = D / DISTANCE;
        //OnMove();


    }
 public void ButtonDrag(BaseEventData eventData)
 {
    // Debug.Log("drag");
     stateTouch = TOUCH_STASE.STATE_DRAG;
     D = ((PointerEventData)eventData).position - POSISTION2;
     if (Mathf.Sqrt(D.x * D.x + D.y * D.y) > DISTANCE)
     { D.Normalize(); D *= DISTANCE; }
     image.rectTransform.localPosition = D;
     //OnMove();
     OUTPUT_POS = D / DISTANCE;
 }
 public void ButtonUp(BaseEventData eventData)
 {
     Debug.Log("up");
     stateTouch = TOUCH_STASE.STATE_UP;
     
     D = ((PointerEventData)eventData).position  - POSISTION2;
     if (Mathf.Sqrt(D.x * D.x + D.y * D.y) > DISTANCE)
     { D.Normalize(); D *= DISTANCE; }
     image.rectTransform.localPosition = D;
     //OnMove();
     OUTPUT_POS = D / DISTANCE;
     is_not_hold = true;
     //IS_USING_TJOYSTICK = false;
 }