我有一些非完成的圆圈不断旋转,用户从圆圈转到圆圈。 我删除了所有的重力,部队等从我的场景SpriteKit:enumerateBodiesAtPoint不显示正确的物体
问题:我试图做一个碰撞检测,我只是检查用户在哪里,如果在我的场景的物理世界的这一点上有SKNode的物体。如果它是一个形状的命中,用户可以继续(图像A),但如果他在外面(图像B)则失败(图像B)
虽然形状非常复杂,但scene.showPhysics似乎与我的形状精确匹配。 (见图片A和B)
let updatedOrigin = user.calculateAccumulatedFrame().origin
user.scene?.physicsWorld.enumerateBodiesAtPoint(updatedOrigin, usingBlock: { (body, stop) in
print(" Shape contains \(body.node!.name)")
})
它打印
Shape contains Optional("User")
Shape contains Optional("circle")
Shape contains Optional("circle")
Shape contains Optional("circle")
Shape contains Optional("circle")
Shape contains Optional("Scene")
它正确打印用户和场景,还四处打印所有圆的形状,当应该只有一个在这一点上,或没有。节点在那里,但尸体物理不应该打。
任何想法为什么它显示所有这些圈子的命中时,它应该只匹配1或没有?谢谢!
编辑:附加信息 - 我使用的是CGPath创建我的旋转节点的
你要发送错误报告或要这样呢? – 0x141E
您是否知道iOS 10 GM中是否仍然存在这种情况?只要我尝试完成,会将答案标记为已解决。 –