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