沿路径移动精灵

3

我正在使用SpriteKit,想知道有没有人知道如何使一个精灵跟随路径移动。我在网上看到其他问题都是关于通过CGPath移动精灵,但如果路径是另一个精灵,该怎么做呢?

视频示例


SKAction.followPath() 怎么样? - Martin R
嗨@MartinR,是的,我尝试过了,但我必须提供一个CGPath,这就是我的问题,我怎样才能从精灵获取一个CGPath呢? - Otto Gutierrez
那我误解了你的问题,抱歉! - Martin R
你需要以某种方式定义/转换路线图精灵为CGPath。自动完成这个过程类似于图像识别,可能会非常复杂。 - Alain T.
嗨@AlainT。想象一下一条街(sprite)和一辆汽车(另一个sprite),所以我希望汽车沿着街道移动。我在问题底部发布了一个YouTube视频,这样更容易理解。谢谢。 - Otto Gutierrez
有没有一些可靠的模式(例如颜色),可以区分路线精灵纹理上的道路部分和非道路部分?如果有这样的东西,我可以考虑几种策略来使“汽车”精灵跟随道路。 - Alain T.
1个回答

1
请看这个链接:有没有一种方法可以创建与SKSpriteNode轮廓匹配的CGPath? - 从那个答案中可以看出,这个问题比它表面上看起来要复杂得多。
如果您的精灵是SVG格式的,一个更简单的解决方案可能是手动将SVG转换为CGPath,然后在游戏中使用该CGPath。可以使用这里提供的简单工具进行转换:https://swiftvg.mike-engel.com/。当然,如果您有许多不同的精灵,手动操作将无法扩展。
这可能不是您正在寻找的确切答案,但现在似乎没有简单的方法来完成您需要的操作 :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接