我注意到touchesEnded并不总是通过多点触控传递给SKScene.根据移除手指等的速度,我会永远错过一些touchesEnded. touchesCancelled已实现,我添加了一个自定义UIView并放在屏幕的左侧 – 没有问题.我做了一个自定义的SKView并捕获了事件 – 再次没有问题.
显而易见的是,SKScene没有得到所有的触动,而是嵌入了SKView,但为什么呢?
(顺便说一句,我完全没有任何节点地运行SKScene)
编辑:
一些进一步的调查显示我可以让SKScene完全失去联系:
我将3个手指放在显示器上,然后一次取出一个,直到只有一根手指接触.我移动手指 – >只有SKView收到移动事件,SKScene没有.它也没有收到touchesEnded.
经过一些实验,我可以说当一个touchesBegan在一次通话中接到超过1次触摸时就会发生这种情况(例如你同时按下两根手指).然后这两个接触被纠缠在一起,因此只有其中一个发送事件.
这似乎是SKScene中的一个错误.我正在iPhone 5上进行测试
解决方法
可能是你正在使用一些gestureRecognisers? 它们具有属性cancelsTouchesInView,它的默认值为YES. 将它改为NO解决了我的问题.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。