我怎样才能让 SKSpriteNode 来回遵循相同的路径?

How can I have an SKSpriteNode follow the same path back and forth?

我的代码分为许多文件,所以我希望我能轻松地描述这一点。 我有一个从 A 点到 B 点的 CGMutablePath() 我在 A 点放置一个 SKSpriteNode 并执行:

yourline0 = SKShapeNode()
pathToDraw0.move(to: cgPoints[0])
pathToDraw0.addQuadCurve(to: cgPoints[1], control: cgPoints[2])

yourline0.lineWidth = 0
yourline0.path = pathToDraw0
yourline0.strokeColor = .clear

iconPath0 = pathToDraw0

SKAction.follow(iconPath0, asOffset: false, orientToPath: false, duration: 1))

我执行了那个 SKACtion,正如我所料,我的 SKNode 从 A 点到 B 点。很好。

我不确定如何反转它,我从 dox 假设调用相同的 SKAction 会使 SKNode 从 B 点转到 A 点。

您可以使用名为 reversed() 的方法。

下面我给你的动作取了一个名字“youraction”

            let youraction = SKAction.follow(iconPath0, asOffset: false, orientToPath: false, duration: 1)
            let reverseaction = SKAction.reversed(youraction)
            yourspritenode.run(reverseaction)
            

或者,您可以在操作名称后使用 reversed 来 运行 反转:

            yourspritenode.run(youraction.reversed())