创建相同的脉冲测量

Create Identical Impulse Measurements

我注意到施加脉冲可能会有所不同,具体取决于您正在施加脉冲的节点是否也已经在运动中。这方面的例子是,如果我有一个平放在另一个节点上的节点并且你应用 x: 400 的脉冲,该节点可能会跳起来 200 像素,但是如果节点处于下落状态并且你应用相同的脉冲,节点可能只会向上跳 50 像素(我假设这是因为节点在与脉冲方向相反的方向上移动)。

我的问题是,有没有一种方法可以应用与其当前状态相关的脉冲,以便所有跳跃都相等?我知道 'move by X' 会这样做,但它与施加冲动的效果并不相同。

在给node施加冲量之前,先将其当前速度设置为0,然后每次都可以施加static冲量

node.physicsBody.velocity = CGVectorMake(0, 0);