1

我希望能够通过使用 SKPhysicsBody 的 applyImpulse 方法通过自定义贝塞尔路径将节点从 A 点移动到 B 点。我想使用 applyImpulse 的原因是因为它根据初始脉冲模拟了一个很好的自然运动(快速开始和减速)。似乎当一个对象通过 applyImpulse 施加脉冲时,它只会在与环境的摩擦导致其速度降低到零时才会停止。我希望它跟随我的路径并在最后停下来。我该怎么办?

4

2 回答 2

2

就像 LearnCocos2D 所说的那样,遵循路径的对象当前不会与应用物理交互,直到它完成遵循所述路径。

每个 SKAction 都有一个可以设置的属性,称为 timingMode。

因此,如果您在一行上实例化您的 SKAction,则在下一行您可以说:

action.timingMode = SKActionTimingEaseOut;

它将在动作过程中快速开始和减速,缩放使其在指定的持续时间内仍然完成移动。

于 2014-03-31T21:35:46.673 回答
0

正如下面的海报所示,在 applyImpulse 之后,无法让我的对象在自定义贝塞尔路径上移动。我使用了 SKAction 的 customActionWithDuration 方法和来自https://github.com/warrenm/AHEasing的自定义缓动函数

我想要的效果与 applyImpulse 不同或相似,但能够定义我自己的自定义缓动函数有很大帮助。

于 2014-04-05T06:05:53.843 回答