我的分数功能设置为:
func updateScore(scoreToAdd:Int) {
score = score + scoreToAdd
scoreLabel.text = "Score: " + String(score)
}
我希望提高这个坠落物体的速度:
SKAction.moveByX(0, y: ??? , duration: 8.0)
let MoveYAction = SKAction.moveToY(-30, duration: 8.0)
每次得分上升一次。所以我希望它是那个值(-30 +得分x速度)
我怎样才能做到这一点?
答案 0 :(得分:0)
我的第一个想法是从SKAction
方法返回updateScore
:
func updateScore(scoreToAdd:Int) -> SKAction {
score = score + scoreToAdd
scoreLabel.text = "Score: " + String(score)
return SKAction.move(by: CGVector(dx: 0, dy: -30 - score), duration: 8.0)
}
然后,当您调用updateScore方法时,将其设置为变量以使用该操作:
let moveAction = updateScore(scoreToAdd: xyz)
node.run(moveAction) //notation in swift 3
但是请注意,这不会让对象像你想要的那样更快,它只会使它更远。如果您希望它速度更快,您希望减少SKAction
方法中updateScore
的持续时间。