【发布时间】:2017-01-19 21:05:45
【问题描述】:
我在 Unity 中实现了一个 IDragHandler,我希望不仅能够在我触摸它时开始拖动对象,而且还希望指针在向下时从外部进入它。我的代码的核心:
public class Draggable : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler, IPointerEnterHandler
{
public void OnBeginDrag(PointerEventData eventData)
{
...
}
public void OnDrag(PointerEventData eventData)
{
...
}
public void OnEndDrag(PointerEventData eventData)
{
...
}
public void OnPointerEnter(PointerEventData eventData)
{
// TODO: Don't just check mouse, take touch into account!
if (Input.GetMouseButton(0))
{
this.OnBeginDrag(eventData);
}
}
}
所以,基本上,如果指针进入对象时指针向下,我想开始拖动它。然而,这段代码似乎只是对该对象的 EventSystem 产生了错误,因为当执行这段代码时,什么都没有发生,我突然什至不能正常拖动对象了。
有没有办法从我缺少的 C# 脚本中手动触发“OnBeginDrag”?
【问题讨论】: