首页 文章

将物理主体锁定到X轴Spritekit Swift

提问于
浏览
0

我有一个节点,我想锁定到x轴 . 我在节点上有一个冲动(如下所示) .

rectangle.physicsBody!.applyImpulse(CGVectorMake(-11,0))

节点在x轴上开始,但是一旦它与另一个物理体接触,它就会在y轴和x上飞起 . 我想知道如何将其锁定到x轴,使其无法向上或向下移动 . 任何帮助,将不胜感激 .

1 回答

  • 1

    如果创建SKNode / SKSpriteNode等子类,则可以在节点的更新函数中锁定移动 .

    这样,您始终可以将运动锁定到所需的轴 . 你不会锁定物理主体,而是锁定节点本身 .

    更新

    使用碰撞委托时,您将需要在发生碰撞时存储节点的点 .

    例如collisionPoint = node.center

    您可以将其位置锁定到这样的轴

    func update(dt: NSTimeInterval)
    {
        // locks the position to collision points y coordintate
        self.position = CGPointMake(self.position.x, collisionPoint.y) 
    }
    

    从场景中调用此更新功能

    override func update(currentTime:NSTimeInterval)

相关问题