【发布时间】:2016-09-26 18:39:50
【问题描述】:
tl:dr - 我如何应用初始力来加速游戏中的精灵?
我正在通过本教程构建一个基于精灵套件的游戏。 Link
我完全遵循了一切,它工作得很好,直到我消除了重力,并为球增加了动力。
问题是球的移动非常非常缓慢。当将重力重新添加到游戏中时,球再次以正常速度移动。
如何对球施加一个冲力,使其从一开始就快速移动?在教程中,gif 显示球高速移动,无需额外代码。所以也许我做错了什么。
class GameScene: SKScene {
override func didMove(to view: SKView) {
super.didMove(to: view)
let borderBody = SKPhysicsBody(edgeLoopFrom: self.frame)
borderBody.friction = 0
self.physicsBody = borderBody
physicsWorld.gravity = CGVector(dx: 0.0, dy: 0.0)
let ball = childNode(withName: BallCategoryName) as! SKSpriteNode
ball.physicsBody!.applyImpulse(CGVector(dx: 2.0, dy: -2.0))
}
}
【问题讨论】:
-
你的力很弱,重力是 9.8 m/s,你以 2.8m/s 的速度移动它,它与重力一起快速工作的原因是因为重力在帮助你,通过碰撞加速到 12.6m/s
-
@Knight0fDragon - 我如何提高球的速度以使其从一开始就达到 12.6m/s?
-
尝试在这些数字上加零:applyImpulse(CGVector(dx: 2.0, dy: -2.0)
-
如何让汽车跑得更快?给它更多的气体。将 applyImpulse 设为更大的数字
-
我说 2.8 的原因是因为它是 sqrt(2 squared + 2 squared) 并且值不是真的 12.6m/s 我只是不想做数学lol
标签: swift sprite-kit swift3