我怎样才能让 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())
我的代码分为许多文件,所以我希望我能轻松地描述这一点。 我有一个从 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())