Ios SpriteKit实心块
我试着做一个坚实的平台/木块,如果玩家在上面落地,它就站在那里。我使用了碰撞,但似乎有一种更简单的方法 我想要的是一种效果,玩家可以“落地”在方块上,而不是通过它Ios SpriteKit实心块,ios,sprite-kit,Ios,Sprite Kit,我试着做一个坚实的平台/木块,如果玩家在上面落地,它就站在那里。我使用了碰撞,但似乎有一种更简单的方法 我想要的是一种效果,玩家可以“落地”在方块上,而不是通过它 if (firstBody.categoryBitMask == playerCategory && secondBody.categoryBitMask == endPlatformCategory) { if (player.position.y > secondBody.node.position
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));
}
}
但是,由于重力的原因,此代码会使其在几次点击后返回。如果我理解正确,请尝试将玩家的physicsBody.collisionBitMask设置为与块交互。大概是这样的:
self.physicsBody.collisionBitMask = CNPhysicsCategoryBlock;
和块的physicsBody.collisionBitMask与播放器交互
self.physicsBody.collisionBitMask = CNPhysicsCategoryPlayer;
根据您的简要描述,不确定您的确切问题是什么。如果重力是一个问题,您是否尝试过设置self.physicsBody.affectedByGravity=NO@sangony我想要的是一种效果,玩家可以在被重力拉下来后“降落”在方块上,而不是穿过方块。有点像地板。看看tmx地图。