看了ugui的scrollview的scrollview的实现方式,扩展它来实现无限循环模式应该是不现实了。于是就想着能用ngui的方式来改写吧。
原理:通过部分,整体的方式来实现拖拽
实现:整体部分运动
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
/// <summary>
/// 自定义scrollview 目前只支持水平拖拽
/// </summary>
public class CommonScrollView : MonoBehaviour
{
public enum EMoveDirection
{
none,
left_to_right,
right_to_left,
}
/// <summary>
/// 列表的父物体
/// </summary>
[SerializeField]
private Transform itemParent;
/// <summary>
/// 容器
/// </summary>
[SerializeField]
private RectTransform container;
/// <summary>
/// 列表之间的间隔
/// </summary>
[SerializeField]
private int itemGap;
/// <summary>
/// 拖拽速度,聚焦速度
/// </summary>
[SerializeField]
private float dragSpeed,centerSpeed;
/// <summary>