SKScene touchesEnded 第二次呈现场景时未调用
Posted
技术标签:
【中文标题】SKScene touchesEnded 第二次呈现场景时未调用【英文标题】:SKScene touchesEnded not called when presenting the scene for the second time 【发布时间】:2016-02-19 23:02:29 【问题描述】:我有一个带有主菜单的 SpriteKit 游戏。 菜单标签在 touchesEnded 时触发。 这在第一次启动游戏时效果很好。
然后,在第一级结束后,主菜单再次出现。 这次没有触发touchesEnded!!!
我尝试显示另一个菜单(选项菜单)并且发生了同样的事情。 当我第一次显示它时它可以工作(我的意思是 touchesEnded)但第二次显示它时使 touchesEnded 没有被调用!!
有人遇到过这种情况吗?
【问题讨论】:
如果可能的话,你应该添加相关代码...见how to ask a good question 感谢您的评论,但代码与此处无关,因为我在询问一个概念。它不是一段不工作的特定代码,而是一个未触发的操作系统事件。我对我的问题所知道的答案表明 那么别人怎么会知道你在使用识别器而不看你的代码? 【参考方案1】:导致问题的原因是在我的游戏关卡中,我有一个 UITapGestureRecognizer。我应该做到以下几点:
myTapRecognizer.cancelsTouchesInView = false
看起来 Taprecognizer 不仅在它所属的场景中全局取消了触摸。
【讨论】:
手势识别器不属于特定场景。它们属于视图。以上是关于SKScene touchesEnded 第二次呈现场景时未调用的主要内容,如果未能解决你的问题,请参考以下文章
SKScene 在 presentViewController 之后重复