我基本上希望 Action 能够运行,然后在 Action 中间创建慢 Action 效果,然后再将其退出慢 Action 。是否有人对如何完成此工作有任何好的反馈?我曾考虑过手动创建 Action 并使用更新方法,但是我觉得那可能太过分了。我希望有一个更简单的解决方案。

我的另一个想法是停止操作,然后以较慢的时间重新开始,但是我认为它不会停留在同一条路径上,而且看起来可能很奇怪。

这是我用来创建 Action 的代码。

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);

最佳答案

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



您可以将其设置为小于1的值,以使操作运行更慢。您甚至可以设置动画速度以逐渐降低速度:

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

10-08 12:30