我想在我的应用程序中影响 Sprite 的移动速度。当我将速度应用于 Sprite 时,它会慢慢增加速度,直到达到最大速度。我正在寻找一种方法来消除速度的平滑增加并且始终具有完全相同的速度(直到我改变速度)
如果您有任何问题,请随时添加评论。
enemy1 = SKSpriteNode(texture: enemyTexture)
enemy1.position = CGPoint(x: CGRectGetMidX(self.frame) - 300, y: CGRectGetMidY(self.frame) - 300)
enemy1.physicsBody = SKPhysicsBody(texture: enemyTexture, size: enemyTexture.size())
enemy1.physicsBody!.affectedByGravity = false
enemy1.physicsBody!.allowsRotation = false
self.addChild(enemy1)
这是我应用于 Sprite 的速度。我在更新功能中这样做是为了获得持续的移动速度:
override func update(currentTime: NSTimeInterval) {
enemy1.physicsBody!.velocity = CGVectorMake(70, 0)
}
最佳答案
您是否尝试过像这样为每次更新应用力矢量,而不是改变速度:
override func update(currentTime: NSTimeInterval) {
enemy1.physicsBody!.applyForce = CGVectorMake(70, 0)
}
关于 swift 2 : Removing Slowly increase of speed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35944105/