我想在某个区域实现双击跳转。如何计算屏幕上的第一次和下一次点击以检查“双击”按下了什么?
根据一些教程,我在引擎中实现了这一点,但在设备上它不起作用,因为我检查了一个按钮按下,而不是触摸。我找到了解决方案,但他们并没有让我理解它是如何工作的,总的来说,我想为我的案例得到答案。
public void OnPointerClick(PointerEventData eventData)
{
if (eventData.button == PointerEventData.InputButton.Left && eventData.clickCount == 2)
{
player_.GetComponent<Player_Controller>().Jump(); // Функция прыжка
IsButtonPressed = true; // Кнопка нажалась
}
}
Unity 中的 UI API(不要与输入系统混淆)同时支持鼠标和触摸。
PointerEventData.InputButton.Left总的来说,整个枚举PointerEventData.InputButton纯粹是一个鼠标,我不确定它甚至会为智能手机组装什么。对于touch,条件就
if(eventData.clickCount > 0)可以理解为IPointClickHandler有点击,也不需要查看操作的“区域”,只有点击了这个界面才会收到这样的事件。