Unity实现UGUI拖拽展示图片功能
前言
在使用Unity开发展馆展示的一些图片的时候,有时候需要实现那种拖拽滑动展示图片的功能。这种需求在展馆展示中非常的常见,在游戏开发中也非常的常见,我在这里总结了一套开发方法,供大家参考。具体实现方法如下所示:
实现方法
1.在场景中新建一个Scroll View组件,Scroll View组件设置如下图所示:
2.创建PageView0.cs脚本,该脚本的作用是实现滑动图片展示的主要功能,脚本代码如下所示:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System;
public class PageView0 : MonoBehaviour, IBeginDragHandler, IEndDragHandler
{
//滑动组件
private ScrollRect rect;
//滑动的起始坐标
public float targethorizontal = 0;
//是否拖拽结束
private bool isDrag = false;
//求出每页的临界值,页索引从0开始
private List<float> posList = new List<float>();
public int currentPageIndex = 0;
public Action<int> OnPageChanged;
private bool stopMove = true;
//滑动速度
public float smooting = 4.0f;
public float sensitivity = 0;
private float startTime;
private float startDragHorizontal;
//单例初始化
public static PageView0 _instance;
public GameObject content;
// Use this for initialization
void Awake()
{
_instance = this;
rect = transform.GetComponent<ScrollRect>();
float horizontalLength = rect.content.rect.width - GetComponent<RectTransform>