【问题标题】:How do I ignore an extra finger on the screen?如何忽略屏幕上多余的手指?
【发布时间】:2012-09-13 15:01:23
【问题描述】:

我正在为小孩子开发一个应用程序。该应用程序基本上是一个眼睛糖果游戏,孩子可以触摸屏幕并制作鲜花或气球。我正在使用 touchesBegan: 和 touchesend: 来确定孩子何时按下(开始动画)以及何时抬起手指(停止动画)。

我的问题是,我测试过的一些孩子用拇指放在屏幕上拿着 iPhone。这种额外的触摸与我控制动画位置的逻辑相混淆。我相信我可以用两种方法之一来解决这个问题

  1. 设置独占触摸,一旦第一根手指按下,所有其他触摸都将被忽略,从而迫使孩子在想让游戏做任何事情时抬起拇指。

  2. 通过捕获触摸开始的位置并确保在我的触摸结束逻辑中响应正确的手指。

我只是好奇是否有其他人遇到过这个问题,以及他们是否想出了更好的方法。

【问题讨论】:

  • 您是否在视图上禁用了多点触控?这将防止一次以上的触摸,但根据我的经验,您需要小心在另一根手指抬起后非常快速地碰到屏幕(它会以非常大的 touchMoved 出现)。
  • 是的。这是选项之一。它有效,但有可能造成混乱,因为孩子可能没有意识到所有按钮不起作用的原因是因为他们的拇指在屏幕上。

标签: objective-c ios multi-touch


【解决方案1】:

我选择了#1“设置独占触摸,这样一旦第一根手指向下,所有其他触摸都将被忽略,从而迫使孩子在想让游戏做任何事情时抬起拇指。”我和几个孩子一起测试了它,他们很快就弄清楚了“规则”是什么并进行了调整。

【讨论】:

    【解决方案2】:

    什么年龄组?从使用触摸屏手机观察 1 岁、3 岁和 5 岁儿童的情况来看,在我看来,在可以信任孩子拿着手机而不丢手机的年龄(两岁末或三岁初)他们可以学习如何将手机放在手掌上。需要抓握的人,在大多数情况下只展示一次后,就可以很容易地学会用拇指从没有屏幕的顶部和底部区域抓握。

    我同意您的应用应该智能地处理错误输入,但首先不要忽视一般使用手机(拿着它)的最低限度指令。这不是“修复用户”的情况,而是用户(孩子)在手机上使用任何应用程序所需的技能。

    【讨论】:

    • 我不反对,但是我的目标受众还不能阅读。我试图避免添加说明屏幕,这样孩子就可以误按一个按钮。
    • 我明白了。大概是向孩子提供设备的成年人接受过指导吗?如果是这样,我想这就是提到它的地方。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多