首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >nodesAtPoint未找到我的节点

nodesAtPoint未找到我的节点
EN

Stack Overflow用户
提问于 2015-02-03 11:25:20
回答 1查看 168关注 0票数 0

我有一个SKSpriteNode,它的纹理周围有一个很明显的alpha边距。纹理是92x92点;由于alpha边距,节点的可触摸框架最终变得更小(40x40)。如果它发生在92x92纹理中的任何地方,我想要注册触摸。

我用nodesAtPoint检测touchesBegan中的节点。但是,如果触摸alpha边距,则不会检测到该节点。我试图通过在我的SKSpriteNode中重写calculateAccumulatedFrame来改变这一点,但似乎什么也没做。我的方法很少被调用,而且是不可预测的。我假设如果一个节点没有子节点,SpriteKit会在不使用calculateAccumulatedFrame方法的情况下引用框架属性。

有什么解决方案吗?

EN

回答 1

Stack Overflow用户

发布于 2015-02-04 05:14:24

我不知道如何实际更改SpriteKit在纹理中关于alpha的行为方式,但作为替代解决方案,我覆盖了场景的nodesAtPoint。

如果出于某种原因,您必须这样做,请记住,CGRect的原点位于矩形的左下角,而不是像SKNode那样位于中心。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28290847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档