1
while word != ""{
if word[word.startIndex] == "R" {
let moveSpriteToRight = SKAction.move(to: CGPoint(x: sprite.position.x+128, y: sprite.position.y), duration: 1)
sprite.run(moveSpriteToRight)
} else if word == "D" {
let moveSpriteToDown = SKAction.move(to: CGPoint(x: sprite.position.x, y: sprite.position.y-128), duration: 1)
sprite.run(moveSpriteToDown)
} else if word == "L" {
let moveSpriteToLeft = SKAction.move(to: CGPoint(x: sprite.position.x-128, y: sprite.position.y), duration: 1)
sprite.run(moveSpriteToLeft)
} else if word == "U" {
let moveSpriteToUp = SKAction.move(to: CGPoint(x: sprite.position.x, y: sprite.position.y+128), duration: 1)
sprite.run(moveSpriteToUp)
}
word.remove(at: word.startIndex)
}
这是我的代码的一部分,我不能多次使用SKAction。例如,如果单词=“ULD”,则精灵应该沿着路径向上(U)移动,然后向左(L)和向下(D)移动。每次通过手势创建新的轨迹时,记录手势的终止都会通过touchesEnded发生。雪碧他们必须每次执行。但是在这个例子中,我的模拟器中的精灵将位置改为Down。如何改变SKSpriteNode与SKAction的位置
我认为这是有趣,当人们失望投票,没有解释,没有提供任何回答自己。如果你有这样说下来的投票理由,这个答案是有效的。 –
欢迎@Proffan。如果这回答了你的问题,你应该将其标记为正确的,这样其他人也会知道这一点;) –