我基本上希望动作能够运行,然后在动作中间创建一个慢动作效果,然后将其从慢动作中移出。有没有人对如何做到这一点有任何好的反馈?我已经考虑过手动创建动作并使用更新方法,但我觉得这可能有点矫枉过正。我希望有一个更简单的解决方案。
另一个想法是停止动作,然后以较慢的持续时间再次启动它,但我认为它不会停留在相同的路径上,它可能看起来很奇怪。
这是我用来创建动作的代码。
CGMutablePathRef cgpath = CGPathCreateMutable();
CGPathMoveToPoint(cgpath,NULL, mysprite.position.x, mysprite.position.y);
CGPathAddCurveToPoint(cgpath, NULL, cp1.x, cp1.y, cp2.x, cp2.y, e.x, e.y);
[mysprite runAction:[SKAction sequence:@[[SKAction followPath:cgpath asOffset:NO orientToPath:YES duration:3]]]];
CGPathRelease(cgpath);
答案 0 :(得分:24)
每个节点都有speed
属性:
应用于节点及其执行的所有操作的速度修饰符 后代。
讨论
默认值为1.0,表示所有操作都会运行 以正常速度。如果设置不同的速度,则会显示时间 对节点及其上执行的所有操作运行得更快或更慢 后人。例如,如果将速度值设置为2.0,则会运行操作 快两倍。
您可以将此值设置为小于1的值,以使操作运行得更慢。您甚至可以设置速度的动画以逐渐减慢速度:
[mySprite runAction:[SKAction speedTo:0.5 duration:1.0]];