如何在SpriteKit中仅在敌人的一侧实现接触和碰撞?

时间:2015-07-09 15:36:53

标签: sprite-kit collision-detection

让我们说我有一个滚动和跳跃的球和一个方块在同一条线上。我希望这个球只与一个区块的左侧发生碰撞。如果球越过障碍物 - 它们不应该接触,球不应该落在正方形的顶部,它应该落在地面上并进一步滚动。我有这段代码:

self.ball.physicsBody = SKPhysicsBody(circleOfRadius: CGFloat(self.ball.size.width / 2))
self.ball.physicsBody?.affectedByGravity = false
self.ball.physicsBody?.categoryBitMask = ColliderType.Ball.rawValue
self.ball.physicsBody?.collisionBitMask = ColliderType.Square.rawValue
self.ball.physicsBody?.contactTestBitMask = ColliderType.Square.rawValue

self.square.physicsBody = SKPhysicsBody(texture:square.texture, size: self.square.size)
self.square.physicsBody?.dynamic = false
self.square.physicsBody?.categoryBitMask = ColliderType.Square.rawValue
self.square.physicsBody?.contactTestBitMask = ColliderType.Ball.rawValue
self.square.physicsBody?.collisionBitMask = ColliderType.Ball.rawValue

它运作良好,但球与整个方块相撞。我怎样才能使用Swift来改变它,以便制作出我想要的东西?

0 个答案:

没有答案