0

我正在创建一个包含多个用户与屏幕交互的本机反应游戏。

大多数情况下,它工作正常,但有时会导致问题,例如有人将手指放在手机上,然后其他用户按下不被识别

在水龙头最初注册后,我正在寻找一种取消按下的方法

浏览 tocuhables 的文档,我不确定是否可以通过本机反应

欢迎任何建议

4

1 回答 1

1

如果您想管理复杂的触摸,那么您将需要使用PanResponder. “取消”并不是一个真正的选项,但如果满足某些条件,您绝对可以停止响应触摸。

有时它会导致问题,例如有人将手指放在手机上,然后其他用户按下无法识别

为此发挥作用的方法就是*ShouldSetPanResponder方法。这些决定了当前触摸是否应该成为活动触摸。

onMoveShouldSetPanResponder: (e, gestureState) => {...}
onMoveShouldSetPanResponderCapture: (e, gestureState) => {...}
onStartShouldSetPanResponder: (e, gestureState) => {...}
onStartShouldSetPanResponderCapture: (e, gestureState) => {...}

react-native-gesture-handler库可以使处理这些低级 API 变得更加容易。它包括TapGestureHandler具有标准化道具(如maxDurationMs,numberOfTaps等)的组件。

于 2021-04-18T04:56:15.683 回答