【发布时间】:2012-09-13 15:01:23
【问题描述】:
我正在为小孩子开发一个应用程序。该应用程序基本上是一个眼睛糖果游戏,孩子可以触摸屏幕并制作鲜花或气球。我正在使用 touchesBegan: 和 touchesend: 来确定孩子何时按下(开始动画)以及何时抬起手指(停止动画)。
我的问题是,我测试过的一些孩子用拇指放在屏幕上拿着 iPhone。这种额外的触摸与我控制动画位置的逻辑相混淆。我相信我可以用两种方法之一来解决这个问题
设置独占触摸,一旦第一根手指按下,所有其他触摸都将被忽略,从而迫使孩子在想让游戏做任何事情时抬起拇指。
通过捕获触摸开始的位置并确保在我的触摸结束逻辑中响应正确的手指。
我只是好奇是否有其他人遇到过这个问题,以及他们是否想出了更好的方法。
【问题讨论】:
-
您是否在视图上禁用了多点触控?这将防止一次以上的触摸,但根据我的经验,您需要小心在另一根手指抬起后非常快速地碰到屏幕(它会以非常大的 touchMoved 出现)。
-
是的。这是选项之一。它有效,但有可能造成混乱,因为孩子可能没有意识到所有按钮不起作用的原因是因为他们的拇指在屏幕上。
标签: objective-c ios multi-touch