Unity_Mobile game dragging the screen to change the camera angle of view is stuck

solution

Add EventTrigger to the drag area (an Image)

part of the code

    #region 视角旋转

    public float rotX;
    public float rotY;

    private Vector2 lookStartPos;

    public void OnLookClickDown(BaseEventData data)
    {
        PointerEventData eventData = data as PointerEventData; 
        lookStartPos = eventData.position;
    }

    public void OnLookAreaClickUp(BaseEventData eventData)
    {
    }

    public void OnLookAreaDrag(BaseEventData data)
    {
        PointerEventData eventData = data as PointerEventData; 
        Vector2 distance = eventData.position - lookStartPos;
        lookStartPos = eventData.position;

        rotY += distance.x * 10 * Time.deltaTime;
        rotX -= distance.y * 10 * Time.deltaTime;
        rotX = Mathf.Clamp(rotX, -80, 80);

        Quaternion localRotation = Quaternion.Euler(rotX, rotY, 0.0f);
        Camera.main.transform.rotation = localRotation;

        _playerController.transform.rotation = localRotation;
        _playerController.transform.eulerAngles = new Vector3(0, _playerController.transform.eulerAngles.y, 0);
    }

    #endregion

reason:

Probably because BeginDrag is missing.

Guess you like

Origin blog.csdn.net/ashmoc/article/details/126506686