ios – SpriteKit SKScene缺少touchesEnded

前端之家收集整理的这篇文章主要介绍了ios – SpriteKit SKScene缺少touchesEnded前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我注意到touchesEnded并不总是通过多点触控传递给SKScene.根据移除手指等的速度,我会永远错过一些touchesEnded. touchesCancelled已实现,我添加了一个自定义UIView并放在屏幕的左侧 – 没有问题.我做了一个自定义的SKView并捕获了事件 – 再次没有问题.

显而易见的是,SKScene没有得到所有的触动,而是嵌入了SKView,但为什么呢?

(顺便说一句,我完全没有任何节点地运行SKScene)

编辑:

一些进一步的调查显示我可以让SKScene完全失去联系:

我将3个手指放在显示器上,然后一次取出一个,直到只有一根手指接触.我移动手指 – >只有SKView收到移动事件,SKScene没有.它也没有收到touchesEnded.

经过一些实验,我可以说当一个touchesBegan在一次通话中接到超过1次触摸时就会发生这种情况(例如你同时按下两根手指).然后这两个接触被纠缠在一起,因此只有其中一个发送事件.

这似乎是SKScene中的一个错误.我正在iPhone 5上进行测试

解决方法

可能是你正在使用一些gestureRecognisers? 它们具有属性cancelsTouchesInView,它的默认值为YES. 将它改为NO解决了我的问题.

猜你在找的iOS相关文章