【发布时间】:2019-11-19 00:05:22
【问题描述】:
基本上,我正在设计一个游戏,我需要一个画布图像元素来快速响应并在拖动时移动。因此,我正在实现 IDragHandler 接口。但是 OnDrag 方法会在大约半秒的延迟后被调用。
public class InputHandler : MonoBehaviour, IDragHandler
{
public void OnDrag(PointerEventData eventData)
{
// this gets logged after about 500 milliseconds
Debug.Log("mouse dragged");
}
}
我已将此脚本附加到要随拖动一起移动的同一图像元素上。该元素启用了光线投射目标,并且为其父画布启用了图形光线投射组件。图像元素最初落后于触摸点,但后来赶上,因此感觉输入中有一些滞后。有没有办法消除/最小化这种延迟?
【问题讨论】:
-
也许你应该寻找触摸而不是拖动?可能是 OnPointerDown 和 OnDrag 事件?
-
另外,我希望你意识到这个函数只有在指针位于 Canvas 的 UI 元素上时才会被调用。
-
@Saif 确实如此,这个脚本附加在图像元素上,其光线投射目标位于启用了图形光线投射的画布内,并且图像元素确实随着拖动而移动,但有一些延迟。需要尝试 Touch,但似乎是一个线索。