如何在SpriteKit中使一个身体坚持另一个移动物体

时间:2014-02-28 00:15:30

标签: ios sprite-kit

我有一个沿X轴移动的物体,而另一个物体则停留在那里。 在发生碰撞之后,我希望静止物体与移动物体一起移动。

我使用此代码移动第一个正文:

    SKAction* moveBlock = [SKAction moveByX:-distanceToMove y:0 duration:0.01 * distanceToMove];
    SKAction* removeBlock = [SKAction removeFromParent];
    _moveBlocksAndRemove = [SKAction sequence:@[moveBlock, removeBlock]];

并且在碰撞检测中我试图设置摩擦力:

if (firstBody.categoryBitMask == categoryA && secondBody.categoryBitMask == categoryB) {
            firstBody.friction = 1.0;
            secondBody.friction = 1.0;
}

但那没用。由于速度= 0,因此应用第一个体的速度将不起作用;

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我没试过,但似乎你想在场景中添加SKPhysicsJoint

if (firstBody.categoryBitMask == categoryA && 
                 secondBody.categoryBitMask == categoryB) {
    SKPhysicsJointFixed* pin =
                    [SKPhysicsJointFixed jointWithBodyA:firstBody 
                                                  bodyB:secondBody 
                                                 anchor:firstBody.position];
    [self.physicsWorld addJoint:pin];
}