ios - SKSpriteNode 跟随 CGPath 加上 SKAction

标签 ios sprite-kit

我正在制作游戏,我希望敌人绕圈移动,但敌人也应该不断向左移动。我尝试使用 CGPath 创建一个圆形路径并使其遵循该路径,然后添加一个不断向左移动的 SKAction。但节点似乎只是沿着 CGPath 没有向左移动。

有没有其他方法可以做到这一点?

这是我目前的代码:

CGMutablePathRef circle = CGPathCreateMutable();
CGPathAddArc(circle, NULL, 0, 0, 80, 0, 2*M_PI, true);
CGPathCloseSubpath(circle);

SKAction *followTrack = [SKAction followPath:circle asOffset:NO orientToPath:NO duration:1.5];

SKAction *forever = [SKAction repeatActionForever:followTrack];
[enemy runAction:[SKAction moveByX:-1000 y:0 duration:3.0]];
[enemy runAction:forever];

最佳答案

您不能使用 2 个移动操作移动同一个节点。您可以做的是将节点放在容器节点中。然后将容器节点向左移动,同时其子节点绕圈移动。

另一种选择是不使用 SKActions 并通过手动计算向心速度并超时移动向心点来使用更动态和实时的东西。你可以在我的回答中看到这样的例子 here .

关于ios - SKSpriteNode 跟随 CGPath 加上 SKAction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31479096/

相关文章:

ios - swift ios 中的坐标系错误

ios - 在运行时修改重复任务序列

ios - 第二次呈现场景时不调用 SKScene touchesEnded

ios - 将正确的图像传递给 uitableviewcell 的问题

ios - Autorotate 适用于 iOS 6,但在 iOS 5 中会出现奇怪的行为

swift - 为什么我的联系人识别器不起作用

ios - Xcode 不使用 SpriteKit 测量 GPU 利用率

ios - 从NSMutableArray提取特定数据的更快方法?

iphone - 仅当在 iphone image-Picker 中完成捕获时单击捕获按钮时如何执行操作

objective-c - SpriteKit 缺少线性变换矩阵