我注意到 touchesEnded 并不总是通过多点触控传递到 SKScene。根据移除手指等的速度,我会永久错过一些 touchesEnded。touchesCancelled 已实现,我添加了一个自定义 UIView 并放在屏幕左侧 - 没问题。我制作了一个自定义 SKView 并捕获了事件 - 再次没问题。
很明显,SKScene 并没有得到所有的触摸结束了它嵌入的 SKView,但是为什么呢?
(顺便说一句,我在没有任何节点的情况下完全运行 SKScene)
编辑:
一些进一步的调查显示我可以让 SKScene 完全失去联系:
我将 3 根手指放在显示屏上,然后一次取下一根,直到只有一根手指接触。我移动手指-> 只有 SKView 接收移动事件,SKScene 没有。它也不会收到 touchesEnded。
经过一些实验,我可以说当 touchesBegan 在通话中收到超过 1 次触摸时会发生这种情况(例如,您“同时”按下两个手指)。然后这两个触摸会纠缠在一起,因此只有其中一个会发送事件。
这似乎是 SKScene 中的一个错误。我正在 iPhone 5 上进行测试。它会