reactjs - 在 R3F 中使用 useGesture 移动相机,滚轮 + 用橡皮筋拖动
问题描述
我有一个画布,我想在画布上向下或向上移动相机,就像滚动页面一样,通过实际滚动(在 PC 上很有用)或拖动(也适合移动设备)。如果我滚动,我希望手势夹在页面的开头或结尾,如果我拖动,我希望它在相同的页面限制上具有一点橡皮筋效果。现在,如果我只在页面上滚动或只拖动一切正常,但是,如果我滚动然后拖动,事情就会破裂,有时会表现得很奇怪,但主要问题是拖动手势上的边框坐标似乎与车轮运动一起移动。我尝试通过在组件的主要范围内引入一个状态变量来跟踪这种转变,然后在每次使用滚轮手势时更新坐标中的转变,这样我就可以在每次启动滚轮手势时重新校准拖动配置上的边框,但这绝对没有任何作用。这是一个展示这个问题的沙箱,尝试只拖动并查看橡皮筋边界,然后稍微转动一下,注意拖动边界是如何出错的(有时它也会随机射到某个位置):
https://codesandbox.io/s/use-gesture-test-i3n9o?file=/src/App.js
我错过了什么,如果不是这样,我将如何实现这个(滚动或拖动 - 用橡皮筋)来移动相机?这似乎不是一个复杂的用例,但我在任何地方都找不到任何例子。请帮忙!非常感谢!
解决方案
推荐阅读
- java - 基于 CAS 的算法 - 线程如何查看最新值?
- angular - 带有多个元素的条带元素 createToken
- r - R/dplyr:根据两个条件替换行值,保持所有其他条件不变
- java - 获取给定字符串的类名
- javascript - 使用 React 和 Gatsby 提交 Pardot 表单处理程序
- javascript - 打开 Bootbox 警报 - 循环遍历字符串数组并显示复选框列表
- javascript - 当父 Div 悬停时更改子 Div 的背景颜色
- kubernetes - 如何删除所有资源,包括特定部署的服务、部署、pod、副本集,不包括 kubernetes 中的特定资源
- javascript - 如何使用 python 抓取 MSN 股票历史?
- vowpalwabbit - 大众语境强盗:历史数据和在线学习