【发布时间】:2011-07-27 10:28:04
【问题描述】:
是否可以在 IOS 应用程序中检测手指大小? 我已阅读文档:
注意:屏幕上的手指提供了完全不同的级别 精度高于鼠标指针。当用户触摸屏幕时, 接触区域实际上是椭圆形的,并且倾向于在下方偏移 用户认为他或她触摸的点。这个“联系 补丁”的大小和形状也会根据手指触摸的不同而变化 屏幕、手指大小、手指在屏幕上的压力 屏幕、手指的方向和其他因素。这 底层 Multi-Touch 系统为您分析所有这些信息 并计算单个接触点。
那么,这是否意味着 SDK 无法检测物理手指尺寸?我想要完成的事情:我的 OpenGL ES 应用程序中需要虚拟“按钮”。如果有人像游戏手柄一样拿着 iPhone,他可能会用一根手指按两个按钮(从拇指上滚下来)。我希望它可以理解我的意思...
有什么想法吗?
【问题讨论】:
-
您可以只处理
(void)touchesMoved: (NSSet *)touches withEvent:(UIEvent *)event并检查给定触摸的locationInView。因此,您将拥有一个游戏手柄视图/区域,并检查 touchesMoved 击中/覆盖的部分。 -
但我只能从 locationInView 中检索一个 CGPoint,而不是两个按钮位置。所以 iOS 似乎只检测到一个“blob”(不是两个都检测到 - 大拇指没有被检测为 2 次触摸)......
-
您仍然可以在游戏手柄视图中找到一个对两个按钮都有效的区域 - 想想这些按钮相互交叉。
-
W3C 中有一个草案要求操作系统向开发人员公开这些属性。 docs。希望将来 Safari 能够实现这一点,我们可以使用它!
标签: ios multi-touch