iOS8以来的物理接触错误-当对象不靠近时发生对象碰撞

iOS8以来的物理接触错误-当对象不靠近时发生对象碰撞,ios8,sprite-kit,collision,game-physics,skphysicsbody,Ios8,Sprite Kit,Collision,Game Physics,Skphysicsbody,我的游戏在iOS 7中运行得很好,自从iOS 8以来,我一直在接触彼此并不接近的物理实体。我通过启用“showphysics”验证了这一点,而且错误似乎总是与屏幕外新创建的对象有关 有没有人看到了这一点,并且知道解决这个问题的方法 如果你能在这个截图中看到,有鸟儿和蝴蝶在四处飞舞。。球和屏幕外的物体刚刚发生碰撞!,NSLog显示了这两个对象及其X位置。。他们甚至都不接近。。一条线索是,第二个主体始终是新创建的,屏幕外右侧>screen.x,但从不小于0 您还应该记录节点的y位置及其帧,并将x/y

我的游戏在iOS 7中运行得很好,自从iOS 8以来,我一直在接触彼此并不接近的物理实体。我通过启用“showphysics”验证了这一点,而且错误似乎总是与屏幕外新创建的对象有关

有没有人看到了这一点,并且知道解决这个问题的方法

如果你能在这个截图中看到,有鸟儿和蝴蝶在四处飞舞。。球和屏幕外的物体刚刚发生碰撞!,NSLog显示了这两个对象及其X位置。。他们甚至都不接近。。一条线索是,第二个主体始终是新创建的,屏幕外右侧>screen.x,但从不小于0


您还应该记录节点的y位置及其帧,并将x/y坐标转换为场景坐标-如果它们有不同的父节点,它们可能仍会重叠,具体取决于父节点的位置。。。所有对象都是主场景的子对象。。当任何对象出现在屏幕上时,碰撞都可以正常工作。当屏幕外对象向右>320x关闭时,此重影碰撞也总是发生,而当屏幕外创建的对象向左<0x.时,此重影碰撞从不发生。。球的动作也像是撞到了什么东西。也不要忘记,如果我在iOS 7.1中运行,问题就不存在了。好的,我解决了这个问题。。问题是在对象上使用负-1 xScale水平翻转纹理时。。。这把物理身体搞砸了。解决方案只是在设置负xScale后重新初始化物理体。。object.physicsBody=object.physicsBody;