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));
}
}
}
}
}