这里的多点触摸实现方式具有通用性,在提供触摸事件调用和触摸点数据的情况下都可实现。首先,我们需要继承复写ScrollRect的OnDrag方法,让其在一个触摸点的情况下,使用原有拖拽功能,在两个点的情况下,滑动缩放。
private int touchNum = 0;
public override void OnBeginDrag (PointerEventData eventData)
{
if(Input.touchCount > 1)
{
return;
}
base.OnBeginDrag(eventData);
}
public override void OnDrag (PointerEventData eventData)
{
if (Input.touchCount > 1)
{
touchNum = Input.touchCount;
return;
}
else if(Input.touchCount == 1 && touchNum > 1)
{
touchNum = Input.touchCount;
base.OnBeginDrag(eventData);
return;
}
base.OnDrag(eventData);
}