Open finscn opened 5 days ago
3.8.4
all
现象: 一个滚动列表里 如果有按钮, 那么 当 cancelInnerEvents = true 时, , 在某些设备上 按钮经常很难被点击到.
原因: 列表滚动会取消(拦截) 列表子节点接收touch相关事件 . 这个做法是ok的. 但是 对于"移动多少距离后 取消" 这个数值 应该允许开发者设置, 如果不允许 那么cocos内部应该有一个科学的计算方式. 但是我看了 cocos的源码, 写死的 7 . 很不科学.
希望这段 // FIXME: touch move delta should be calculated by DPI. 的代码能早日 fix.
// FIXME: touch move delta should be calculated by DPI.
No response
.
补充下, 如果用触控笔, 对这个值的要求会更高. 触控笔比较滑也比较敏感, 我自己写了个程序测试, iPad + 触控笔, 普通的点击屏幕 至少都会有 10--13像素左右的位移.
我自己测试下来, 把 7 改为 8 * cc.screen.devicePixelRatio 会更合适一些.
7
8 * cc.screen.devicePixelRatio
fork一下,提交一个pull request,应该改成一个类似宏的设计,这个比较繁琐。
Cocos Creator version
3.8.4
System information
all
Issue description
现象: 一个滚动列表里 如果有按钮, 那么 当 cancelInnerEvents = true 时, , 在某些设备上 按钮经常很难被点击到.
原因: 列表滚动会取消(拦截) 列表子节点接收touch相关事件 . 这个做法是ok的. 但是 对于"移动多少距离后 取消" 这个数值 应该允许开发者设置, 如果不允许 那么cocos内部应该有一个科学的计算方式. 但是我看了 cocos的源码, 写死的 7 . 很不科学.
希望这段
// FIXME: touch move delta should be calculated by DPI.
的代码能早日 fix.Relevant error log output
No response
Steps to reproduce
.
Minimal reproduction project
No response