如何使用Sprite Kit减慢运行SKAction followPath的SKSpriteNode以获得慢动作效果?

我基本上希望这个动作正在运行,然后在这个动作的中间产生一个慢动作效果,然后把它从慢动作中解放出来。 有没有人有任何好的反馈如何做到这一点? 我想过手动创build动作并使用更新方法,但我觉得这可能是矫枉过正。 我希望有一个更简单的解决scheme。

另一个想法是停止行动,然后在较慢的时间再次启动,但我不认为它会保持在同一条路上,它可能看起来很奇怪。

这是我用来创build操作的代码。

CGMutablePathRef cgpath = CGPathCreateMutable(); CGPathMoveToPoint(cgpath,NULL, mysprite.position.x, mysprite.position.y); CGPathAddCurveToPoint(cgpath, NULL, cp1.x, cp1.y, cp2.x, cp2.y, ex, ey); [mysprite runAction:[SKAction sequence:@[[SKAction followPath:cgpath asOffset:NO orientToPath:YES duration:3]]]]; CGPathRelease(cgpath); 

每个节点都有一个speed属性:

速度修改器应用于由节点及其后代执行的所有操作。

讨论
默认值是1.0,这意味着所有操作都以正常的速度运行。 如果设置了不同的速度,那么对于节点及其后代中执行的所有操作,时间似乎运行得更快或更慢。 例如,如果将速度值设置为2.0,则操作速度会快两倍。

您可以将其设置为小于1的值,以使操作运行得更慢。 你甚至可以animation的速度逐渐减慢:

 [mySprite runAction:[SKAction speedTo:0.5 duration:1.0]];