为什么两个受影响的BigGravity = NO的节点被重力场吸引?

Dun*_*ald 1 gravity sprite-kit skphysicsbody

我有一个'月亮',其中有一个重力场,'月亮'设置为'affectedByGravity = NO',并且不会受到场景重力场的影响.

然而,我有一个'小行星'也有'affectedByGravity = NO'设置,它仍然被'月亮'吸引,但不被场景重力场所吸引.

这是一个错误还是我误解了'affectedByGravity'是如何工作的?

编辑:摘自Apple文档

定义力如何影响物理主体affectedByGravity属性 一个布尔值,指示此物理主体是否受物理世界的重力和场景中任何物理场施加的重力影响.

声明SWIFT var affectedByGravity:Bool讨论物理世界的重力属性定义了应用于场景中基于体积的物体的重力.默认值是true.在基于边的实体上忽略此属性,这些实体已不受重力影响.

Import Statement导入SpriteKit

可用性适用于iOS 7.0及更高版本.

ZeM*_*oon 6

affectedByGravity属性仅适用于场景physicsWorld,而不适用于重力场.如果你想让小行星不受月球的影响,你必须将它的physicsBody设置fieldBitMask为0(或者比重力场的bitMask不同的值).

阅读Apple文档中的" 将物理场添加到场景"部分.