SpriteKit Solid Block

时间:2014-04-06 17:25:32

标签: ios sprite-kit

我试图建立一个稳固的平台/块,如果玩家落在它上面,它只是站在那里。我使用碰撞,但似乎有一种更简单的方法。

我想要的是一个让玩家能够“降落”的效果。在街区,而不是通过它。

 if (firstBody.categoryBitMask == playerCategory && secondBody.categoryBitMask == endPlatformCategory) {
    if (player.position.y > secondBody.node.position.y) {
        player.physicsBody.velocity = CGVectorMake(player.physicsBody.velocity.dx, abs(player.physicsBody.velocity.dy*.5));
    }
}

然而,这段代码会因重力而在几次点击后回落。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,请尝试设置播放器的physicsBody.collisionBitMask以与块进行交互。像这样:

self.physicsBody.collisionBitMask = CNPhysicsCategoryBlock;

和block的physicsBody.collisionBitMask与玩家互动。

self.physicsBody.collisionBitMask = CNPhysicsCategoryPlayer;