1. 程式人生 > >UGUI學習的第五天

UGUI學習的第五天

昨天實現了一個類似於左右滑動選擇關卡的功能,只有往左往右滑很長距離才可以滑動,只滑一丟丟的話就會回到原來的位置。
public void OnEndDrag(PointerEventData eventData)
{
	_isDrag = false;
	float posX = _rect.horizontalNormalizedPositon;
	
	int index = 0;
	float offset = Math.Abs(_page[index]- posX);
	for(int i = 1; i < _page.Length; i++)
	{
		float tmp = Math.Abs(_page[i]- posX);
		if(tmp < offset)
		{
			index = i;
		}
		offset = tmp;
	}
	_targetHorizontal = _page[index];
}

void  Update()
{
	if(!_isDrag)
	{
		_rect.horizontalNormalizedPosition = Mathf.Lerp(_rect.horizontalNormalizedPosition ,_targetHorizontal, Time.deltaTime * _smooting);
	}
}
```