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.