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))
}
}
答案 0 :(得分:0)
"我如何对球施加冲动,使其从一开始就快速移动? 在教程中,gif显示球在没有额外代码的情况下高速移动。所以也许我做错了。"
我的猜测是你准确地复制了你的导师代码,但球移动得很慢?在这种情况下,问题在于节点BallCategoryName本身。我猜你设计它时球的重量可能比你的教练更重,因为教练很可能让它变得更小,所以它移动得更快,没有什么冲动。 从您拥有的代码中,您实际上没有引力。在PhysicsWorld中没有引力。我对你的建议是留下引力和冲动,并试图通过改变球的质量来获得正确的质量。这很可能是你和你的导师有所不同的地方。