分页滚动功能扩展之加入旋转角度 RotationScaleScrollView

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class RotationScaleScrollView : ScalePageScrollView
{

    public float rotation;     // 声明一个字段,旋转角度

    protected override void Update()      //用于监听角度
    {
        base.Update();
        ListenerItemRotation();
    }

    public void ListenerItemRotation()
    {

        if (nextPage == lastPage)
        {
            return;
        }

        float percent = (rect.horizontalNormalizedPosition - pages[lastPage]) / (pages[nextPage] - pages[lastPage]);                  //5个好友 的旋转角度

        if (nextPage > currentPage ) //判断是上一页还是下一页
        {
            items[lastPage].transform.localRotation = Quaternion.Euler(-Vector3.Lerp(Vector3.zero, new Vector3(0, rotation, 0), percent));        //zero 到rotation  包装成一个角度,进行封装 ???
            items[nextPage].transform.localRotation = Quaternion.Euler(Vector3.Lerp(Vector3.zero, new Vector3(0, rotation, 0), 1 - percent));
        }
        else
        {
            items[lastPage].transform.localRotation = Quaternion.Euler(-Vector3.Lerp(Vector3.zero, new Vector3(0, rotation, 0), percent));        //zero 到rotation  包装成一个角度,进行封装 ???
            items[nextPage].transform.localRotation = Quaternion.Euler(Vector3.Lerp(Vector3.zero, new Vector3(0, rotation, 0), 1 - percent));
        }


        for (int i = 0; i < items.Length; i++)
        {
            if (i != lastPage && i != nextPage)
            {
                if (i < currentPage)    //小于当前页 就说明是负的
                {
                    items[i].transform.localRotation = Quaternion.Euler(new Vector3(0, -rotation, 0));
                }
                else if (i == currentPage)
                {
                    //items[i].transform.localRotation = Quaternion.Euler(new Vector3(0, 0, 0));
                }
                else if (i > currentPage)
                {
                    items[i].transform.localRotation = Quaternion.Euler(new Vector3(0, rotation, 0));
                }
            }

            
        }

    }
}

 

posted @ 2021-05-28 16:57  郭天真  阅读(66)  评论(0)    收藏  举报