微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

iOS7 Sprite Kit如何禁用精灵上的触摸以使其“轻触”?

我知道对于传统的UIViews,我可以将“启用用户交互”标志设置为NO,并且视图将不再响应触摸,让它们下面的视图接收触摸.

有没有办法在Sprite Kit中实现相同的“点击”功能?到目前为止,我只看到人们使用“触摸开始”,获得重点,并在那一点询问场景节点.

这种方法的问题是 – 如果我想在精灵之上添加叠加(如怪物生命点等),它们也会响应触摸.到目前为止,我试图通过为不同的节点创建自定义类,然后使用非常大的if语句来检查每个节点的类来避免这个问题.

有没有更好的方法来实现精灵套件的“点击”功能

解决方法

如果在子类SKSpriteNode上将userInteractionEnabled属性设置为YES,则将在类中调用触摸委托.因此,您可以在其类中处理精灵的触摸.

但是,认情况下,userInteractionEnabled属性设置为NO.因此,精灵上的触摸是“轻触”.

因此,对于您想要的叠加层,为精灵创建自定义类,实现touchesBegan:以及该类中的其他委托,并在初始化时将userInteractionEnabled属性设置为YES.

原文地址:https://www.jb51.cc/iOS/331217.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐