如何防止物理体在Sprite Kit中改变x位置

时间:2014-06-08 20:37:02

标签: ios box2d sprite-kit

我有一个无尽的亚军游戏,我的主角有一个物理身体,我用它来处理跳跃 在与障碍物碰撞之前,一切都很美好。他开始向前移动,我希望他一直保持在x位置。

我尝试将身体动态设置为NO,但这会停止跳跃。

我该如何解决这个问题?我不希望角色在x轴上移动。

2 个答案:

答案 0 :(得分:2)

在更新方法

上执行此操作
- (void)didSimulatePhysics {

    CGPoint fixedXPos = myCharacter.position;
    fixedXPos.x = fixedX;

    [myCharacter setPosition:fixedXPos];
}

答案 1 :(得分:0)

你也可以使用约束

let range = SKRange(lowerLimit: 300, upperLimit: 340)

let lockToCenter = SKConstraint.positionX(range, y: range)

node.constraints = [ lockToCenter ]

并将下限和上限设置为相同的值,以使其锁定到位。