This问题与我的问题相同,但在我的情况下答案不适用,因为它对速度设置了限制。
我希望通常将SKSpriteNode player
保持在dx
的{{1}}处。但是,该速度可以根据400
与游戏中其他节点的交互方式来增加或减少。随着时间的推移,它们将返回到player
的速度。
增加速度很好-随着时间的推移,节点自然会减速到400
。但是,它将通过400
并继续减速。
此解决方案意味着400
到达player
时将停止减速,类似于链接问题的答案:
400
但是,这意味着我无法将播放器的速度降低到if (player.physicsBody?.velocity.dx)! <= CGFloat(400) {
player.physicsBody?.velocity.dx = 400
}
的{{1}}以下。
有效地,我希望得到一个能够使dx
始终保持不变的400
的答案,在此之后,我可以自己检查一下速度是否大于或小于player
,然后逐渐降低速度/加快速度。
关于该问题的另一个答案建议将dx
设置为400
,这没有任何效果。
如果我的代码的其他部分必要,请询问,我将提供它。