【发布时间】:2018-05-23 01:01:32
【问题描述】:
我在屏幕上有一个球和边界。我现在只是在测试物理特性,我希望球在屏幕上连续弹跳而不会减速。
let b = self.ball?.copy() as! SKShapeNode?
if b != nil {
ball!.position = CGPoint(x: CGFloat.random(min: -(self.frame.size.width/2), max: self.frame.size.width/2), y: CGFloat.random(min: -(self.frame.size.height/2), max: (self.frame.size.height/2)))
b?.physicsBody?.linearDamping = 0
b?.physicsBody?.restitution = 1
b?.physicsBody?.angularDamping = 0
b?.physicsBody?.friction = 0
self.addChild(b!)
b?.physicsBody?.applyImpulse(CGVector(dx: 1000, dy: 50))
}
边界功能正常,但球会在屏幕周围弹跳一小段时间,然后会撞到边缘并失去其 y 动量,只是在 x 方向来回移动。
我尝试将最后一行更改为
b?.physicsBody?.velocity = CGVector(dx: 1000, dy: 50)
但它做同样的事情。边界上的恢复原状也设置为 1。
【问题讨论】: