public RectTransform handle;

    public RectTransform outLine;


    private float deadZone = 0;

    private float handleRange = 1;

    private Vector3 input = Vector3.zero;

    private Canvas canvas;


    public float Horizontal { get { return input.x; } }

    public float Vertical { get { return input.y; } }


    void Start()

    {

        canvas = GameObject.Find("Canvas").GetComponent<Canvas>();

        outLine = gameObject.GetComponent<RectTransform>();

    }


    public void OnPointerDown(PointerEventData eventData)

    {

        OnDrag(eventData);

    }


    public void OnDrag(PointerEventData eventData)

    {

        Vector2 radius = outLine.sizeDelta / 2;

        input = (eventData.position - outLine.anchoredPosition) / (radius * canvas.scaleFactor);

        HandleInput(input.magnitude, input.normalized);

        handle.anchoredPosition = input * radius * handleRange;

    }


    private void HandleInput(float magnitude, Vector2 normalised)

    {

        if (magnitude > deadZone)

        {

            if (magnitude > 1)

            {

                input = normalised;

            }

        }

        else

        {

            input = Vector2.zero;

        }

    }


    public void OnPointerUp(PointerEventData eventData)

    {

        input = Vector2.zero;

        handle.anchoredPosition = Vector2.zero;


    }

}


이케 짜고      handle 에는 조이스틱 래버

       outLine에는 조이스틱 몸체 이미지 넣어놨는데

실행해도 래버가 안움직임.


 다른 프로젝트에서 썼을때는 분명 잘 됐던거 같은데 뭘 놓쳤을까