UGUI中ScrollRect本来是用来做水平和垂直的滑动列表的。并且内置了惯性滑动和边界弹性限制。但经过一些设置,完全可以用来做一个可以拖动的地图功能。首先,介绍一下属性的意思。
Content: 这是ScrollRect显示内容的实际区域。
Horizontal: 是否可以水平滚动
Vertical: 是否可以垂直滚动
MovementType: 运动到边界的限制类型, 有不限制,弹性,限制三种
Inertia: 是否有 滑动的惯性
DecelerationRate: 惯性减速率
ScrollSensitivity: 滚动敏感度
ViewPort: 可是区域的大小
还有2个是水平和垂直的滚动条,做地图的话不需要显示。
如果用来制作地图,基本思路是。让ScroolRect可以水平和垂直滑动,惯性衰减运动和滑动敏感度可以直接使用,边界限制使用Clamped就是边界严格限制。最重要的是,Content设置为地图的真实大小比如 3000 * 30000的组件,而可视区域的大小就是屏幕的大小。这样地图就能够在屏幕区域内容易拖动。
如果还需要给地图增加多点触摸缩放的功能,就需要复写ScrollRect来处理。如下一个完整可以使用的封装:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEng