在游戏的界面菜单需要每次滑动后都定位到中间位置,是界面可以展示3个菜单。一想很简单,实现OnEndDrag方法后用Hotween来定位到之前的位置。
public void OnEndDrag(GameObject go)
{
float ToPoint = GetClosestPoint(scrollContent.localPosition.x, new float[] { -540,-896,-1254 });
Debuger.Log(ToPoint);
TweenParms parms = new TweenParms();
parms.Prop("localPosition", new Vector3(ToPoint,scrollContent.localPosition.y, 0));
parms.Ease(EaseType.Linear);
HOTween.To(scrollContent, 0.2f, parms);
}
public float GetClosestPoint(float point, float[] comparePoints) //获取最近的定位点
{
float closepoint=comparePoints[0];
float closevalue = Mathf.Abs(Mathf.Abs(comparePoints[0]) - Mathf.Abs(point));
for(int i=1;i<comparePoints.Length;i++)
{
if (Mathf.Abs(Mathf.Abs(comparePoints[i]) - Mathf.Abs(point)) < closevalue)
{
closevalue=Mathf.Abs(M