如何在 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 中,我声明一旦我的精灵到达这个特定位置,我希望它是静态的。