如何在 sprite 到达特定位置后移除 physicsBody/ 停止响应重力?
How to remove physicsBody/ stop responding to gravity after sprite reaches a specific position?
所以我希望我的精灵随着重力移动,直到它到达特定位置,然后它应该停止响应重力并停留在那里。我怎样才能做到这一点?提前致谢
我想要它一旦到达目标位置就停止
sprite.physicsBody = SKPhysicsBody(circleOfRadius: sprite.size.width/2)
if sprite.position == newPosition {
sprite.physicsBody?.affectedByGravity = false}
不起作用
尝试做这样的事情
override func update(_ currentTime: TimeInterval) {
//In this case, you can just change self.size.height/2 with whatever position you want.
if sprite.position.y <= self.size.height/2{
sprite.physicsBody?.affectedByGravity = false
sprite.physicsBody?.isDynamic = false
}
}
在这种情况下,我创建了一个位于顶部且重力设置为 true 的精灵。在 override func update
中,我声明一旦我的精灵到达这个特定位置,我希望它是静态的。
所以我希望我的精灵随着重力移动,直到它到达特定位置,然后它应该停止响应重力并停留在那里。我怎样才能做到这一点?提前致谢
我想要它一旦到达目标位置就停止
sprite.physicsBody = SKPhysicsBody(circleOfRadius: sprite.size.width/2)
if sprite.position == newPosition {
sprite.physicsBody?.affectedByGravity = false}
不起作用
尝试做这样的事情
override func update(_ currentTime: TimeInterval) {
//In this case, you can just change self.size.height/2 with whatever position you want.
if sprite.position.y <= self.size.height/2{
sprite.physicsBody?.affectedByGravity = false
sprite.physicsBody?.isDynamic = false
}
}
在这种情况下,我创建了一个位于顶部且重力设置为 true 的精灵。在 override func update
中,我声明一旦我的精灵到达这个特定位置,我希望它是静态的。