如何在sprite到达特定位置后删除physicsBody /停止响应重力?

时间:2017-06-09 19:09:46

标签: ios swift sprite-kit skphysicsbody skscene

所以我希望我的精灵随着重力移动直到它到达一个特定的位置然后它应该停止响应重力并保持在那里。我怎样才能做到这一点?提前致谢

我想要它一旦到达目标位置就停止

sprite.physicsBody = SKPhysicsBody(circleOfRadius: sprite.size.width/2)
if sprite.position == newPosition {
sprite.physicsBody?.affectedByGravity = false}

不起作用

1 个答案:

答案 0 :(得分:1)

尝试做这样的事情

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