我有一个节点,我想锁定到x轴 . 我在节点上有一个冲动(如下所示) .
rectangle.physicsBody!.applyImpulse(CGVectorMake(-11,0))
节点在x轴上开始,但是一旦它与另一个物理体接触,它就会在y轴和x上飞起 . 我想知道如何将其锁定到x轴,使其无法向上或向下移动 . 任何帮助,将不胜感激 .
如果创建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)
1 回答
如果创建SKNode / SKSpriteNode等子类,则可以在节点的更新函数中锁定移动 .
这样,您始终可以将运动锁定到所需的轴 . 你不会锁定物理主体,而是锁定节点本身 .
使用碰撞委托时,您将需要在发生碰撞时存储节点的点 .
例如collisionPoint = node.center
您可以将其位置锁定到这样的轴
从场景中调用此更新功能