1

我这边有问题。我正在使用 SKSpriteNode 在世界中创建不同的对象。我已经应用了重力自我,即 SkScene。

所以,这里的问题是,当我创建一个 SKSPriteNode 并为其物理体赋予质量时,它的行为每次都相似。例如:

如果我将质量设为 0,那么它也会下降(它不应该因为质量为零,所以根据物理规则,物体不应该以质量 0 下降)。

现在,如果我将质量更改为 10 或 100 甚至 1000,它会以与质量为 0 时相同的速度下落。

有没有人有同样的问题?或者任何人都可以帮我解决这个问题吗?

4

3 回答 3

7

我认为只是牛顿物理学-重力引起的加速度与物体的质量无关。重力与质量成正比,但与加速度无关

零质量情况很奇怪,但它可能只是物理引擎的约定。我猜想在这些计算过程中它根本不考虑质量。在处理其他交互(例如碰撞或弹簧)时,质量变得有用。

于 2014-03-05T13:29:43.407 回答
1

尽管质量不会影响重力(正如人们强烈指出的那样),但我猜您正试图使重力对项目中不同类型的节点产生可变影响。

您可以通过调整SKPhysicsBody'friction或值来实现相同的目的。linearDampingangularDamping

于 2014-03-05T14:47:46.163 回答
0

万一有人绊倒它。要禁用某些精灵的重力,请使用

physicsBody.affectedByGravity = false
于 2017-12-10T21:39:49.977 回答