我目前正在寻找一种可以检测长按和水龙头的解决方案,但我有点丢失,我知道它与deltaPosition
或deltaTime
有关。< / p>
有人可以向我解释一下吗?我是Unity的新人。
用于拖动按钮,所以我会按下按钮几帧,如果我将它拖动几个像素,它会输入DRAG_STATE
,如果我点击它会进入TAPPED_STATE
。
注意:
我也必须检测距离
我无法使用&#34; Touch&#34;函数,我需要用鼠标模拟它
答案 0 :(得分:1)
当您检测到印刷机时,则存储该位置。在后续帧上,检查位置是否已更改:
const __u8 ip_tos2prio[16]={0,0,0,0,2,2,2,2,6,6,6,4,4,4,4};
因此,在输入时,您只需记录位置,这是用户按下按钮的时间。该框架上没有其他任何事情发生。
下一帧,如果用户持续按下,我们将比较前一个(初始)位置和当前位置。这是您应该在任何需要的地方传递该距离的地方。如果距离足够小,您可以放弃拖动或忽略它。
最后,当用户释放按钮时,我们将重置为0.您可能需要重置为某个负值以确保该值不是可用值(因此不太可能是0)。