Max*_*iel 4 input unity-game-engine
基本上,我正在设计一个游戏,我需要一个画布图像元素来快速响应并在拖动时向前移动。为此,我正在实现IDragHandler接口。但是OnDrag方法会在大约半秒的延迟后被调用。
public class InputHandler : MonoBehaviour, IDragHandler
{
public void OnDrag(PointerEventData eventData)
{
// this gets logged after about 500 milliseconds
Debug.Log("mouse dragged");
}
}
Run Code Online (Sandbox Code Playgroud)
我已将此脚本附加到我想要随拖动一起移动的同一图像元素上。该元素已打开光线投射目标,并且为其父画布启用了图形光线投射组件。图像元素最初落后于触摸点,但随后赶上,因此感觉输入中有一些滞后。有没有办法消除/最小化这种延迟?
延迟可能是由于默认情况下处于活动状态的 DragThreshold 造成的。您可以通过以下方式禁用它:
public class OnDragScript : MonoBehaviour, IDragHandler, IInitializePotentialDragHandler
{
public void OnDrag(PointerEventData ped)
{
transform.Translate(ped.delta);
}
public void OnInitializePotentialDrag(PointerEventData ped)
{
ped.useDragThreshold = false;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6012 次 |
| 最近记录: |