我试图建立一个稳固的平台/块,如果玩家落在它上面,它只是站在那里。我使用碰撞,但似乎有一种更简单的方法。
我想要的是一个让玩家能够“降落”的效果。在街区,而不是通过它。
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));
}
}
然而,这段代码会因重力而在几次点击后回落。
答案 0 :(得分:1)
如果我理解正确,请尝试设置播放器的physicsBody.collisionBitMask以与块进行交互。像这样:
self.physicsBody.collisionBitMask = CNPhysicsCategoryBlock;
和block的physicsBody.collisionBitMask与玩家互动。
self.physicsBody.collisionBitMask = CNPhysicsCategoryPlayer;