我试图制作一个火车轨道切换游戏,并且我已成功绘制了bezier路径并将它们转换为CGPath,以便我可以使用SpriteKit的SKAction:
follow(_:asOffset:orientToPath:speed:)
这适用于跟踪任意轨道(路径),并且路径是免费的。如果我的游戏只有一条轨道就可以了,但我想让铁路开关改变音轨。
我绘制了轨道,使它们在直线上重叠,然后沿着线分支。我想我可以通过检查我的精灵是否在重叠路径上并使其跟随新路径来切换曲目。当然,这是天真的,我只知道如何使用"关注"从路径开始处遵循路径的操作,而不是从我的精灵恰好在哪里。将路径重新绘制为减去行进路径的子路径似乎与我目前正在处理的问题一样困难。
我开始考虑从
更新精灵的位置func update(_ currentTime: TimeInterval)
CGPath是否允许我在可以手动更新的路径上获取给定y的x坐标?顺便说一句,我知道我会用这种方法失去路径方向,但我可以提出另一个问题。