上次更新以来的指针增量。
delta 矢量在用户移动指针时提供 2D 位置。在每一帧都更新。调用 OnBeginDrag
时,2D 位置始于 Vector2(0.0f, 0.0f)。调用 OnDrag
时,delta 会更新。delta 的值会发生很大变化。
在以下示例中,deltaValue
将从零开始。delta 更改时,OnDrag
会更改 dataValue
的值。
// Display deltaValue. This is changed by the delta passed into OnDrag.
using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI;
public class ExampleScript : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler { private float timeCount; private Vector2 deltaValue = Vector2.zero;
public void OnBeginDrag(PointerEventData data) { deltaValue = Vector2.zero; }
public void OnDrag(PointerEventData data) { deltaValue += data.delta; if (data.dragging) { timeCount += Time.deltaTime; if (timeCount > 0.5f) { timeCount = 0.0f; Debug.Log("delta: " + deltaValue); } } }
public void OnEndDrag(PointerEventData data) { deltaValue = Vector2.zero; } }