【问题标题】:why are two nodes with affectedByGravity = NO attracted to gravity field?为什么受重力影响的两个节点=不被重力场吸引?
【发布时间】:2015-01-17 11:58:48
【问题描述】:

我有一个“月球”,其中有一个重力场,“月球”设置为“affectedByGravity = NO”,不受场景重力场的影响。

但是我有一个“Asteroid”,它也设置了“affectedByGravity = NO”,它仍然会被“月球”吸引,但不会被场景重力场吸引。

这是一个错误还是我误解了“affectedByGravity”的工作原理?

编辑:摘自 Apple 文档

定义力如何影响物理体 受重力影响 财产 一个布尔值,指示此物理体是否受到物理世界的重力以及场景中任何物理场施加的重力的影响

声明 迅速 var受重力影响:布尔 讨论 物理世界的重力属性定义了应用于场景中基于体积的物体的重力。默认值是true。这个属性在基于边缘的物体上会被忽略,它们已经不受重力的影响。

进口声明 导入 SpriteKit

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

【问题讨论】:

    标签: sprite-kit gravity skphysicsbody


    【解决方案1】:

    affectedByGravity 属性仅适用于场景的 physicsWorld,不适用于重力场。如果你想让小行星不受月球的影响,你必须将它的physicsBody 的fieldBitMask 设置为0(或重力场的位掩码以外的值)。

    阅读 Apple 文档中的 Adding Physics Fields To Your Scene 部分。

    【讨论】:

    • 根据 Apple 文档,它也适用于物理场施加的重力。请参阅更新的问题,我应该将其包含在原始问题中。无论如何感谢您的链接 - 我自己找不到那个解释。
    • 您对文档的看法是正确的。我从来没有见过affectedByGravity = SKFieldNode 没有工作。这是文档中的错误或错误。需要向 Apple 提交错误报告。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-03
    相关资源
    最近更新 更多