一:前言
针对上一节讲解的事件机制https://blog.csdn.net/HexianWHH/article/details/119741189,这节练习一个实际应用。基于IDragHandler事件做一个在指定区域拖动松手自动吸附的功能。
二:效果演示
拖动滑块只能在指定区域内滑动,不能超出边界。松开鼠标以后自动吸附到最近的格子。
三:制作过程
- 添加一个图片作为拖动区域。
- 制作一个每一个格子的预制体。
- 给第一步的拖动区域添加GridLayoutGroup组件和自己写的GridWindow组件,并设置参数。
- 新建一个图片作为滑动块,并且挂上DragMove组件,并设置参数。
四:代码讲解
GridWindow负责创建格子,拥有所有的格子对象。
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 所有格子的窗体
/// </summary>
public class GridWindow : MonoBehaviour
{
/// <su