The Scrollrect works horribly with multitouch so I want to do my own solution.
I got this code from unity learn-page:
public void OnPointerDown (PointerEventData data) {
RectTransformUtility.ScreenPointToLocalPointInRectangle (panelRectTransform, data.position, data.pressEventCamera, out pointerOffset);
pointerOffset = pointerOffset * panelRectTransform.localScale.x;
}
public void OnDrag (PointerEventData data) {
if (panelRectTransform == null)
return;
Vector2 localPointerPosition;
if (RectTransformUtility.ScreenPointToLocalPointInRectangle (
canvasRectTransform, data.position, data.pressEventCamera, out localPointerPosition
)) {
panelRectTransform.localPosition = localPointerPosition - pointerOffset;
}
}
I got it almost working by replacing data.position with Input.GetTouch(0).position, but the pointerOffset is always wrong because setting any camera instead of data.pressEventCamera doesn’t work.
So the question is what can I put into the RectTransformUtility instead of data.pressEventCamera?
@VGP117 Steal the camera? In other words take the camera in the callback method of your choice. Camera c = data.pressEventCamera and then just use that.