如何让SKSpritenode无阻碍地通过场景的物理主体。 节点的属性是
monster.physicsBody?.categoryBitMask = PhysicsCategory.Monster
monster.physicsBody?.contactTestBitMask = PhysicsCategory.Player
monster.physicsBody?.collisionBitMask = 0x0;
monster.physicsBody?.dynamic = false
monster.physicsBody = SKPhysicsBody(circleOfRadius: 30);
,场景是
self.physicsBody = SKPhysicsBody(edgeLoopFromRect: CGRect(origin: CGPoint(x: 0, y: 65), size: CGSize(width: self.frame.size.width, height: self.frame.size.height)))
physicsWorld.gravity = CGVectorMake(0,-10);
physicsWorld.contactDelegate = self;
当怪物节点到达场景的边界时,它将停止片刻然后继续其路径。我怎么做到它不会与场景的边界互动。
答案 0 :(得分:0)
有两种方法可以解决这个问题,我建议你自己创建自定义边界,而不是使用场景的physicsBody。
1)在场景周围创建4个边界,并相应地调整collisionBitMask
和ContactBitMask
。
2)(未经测试)相应调整self.physicsBody
collisionBitMask
和contactBitMask
。这将是不好的做法,可能会在将来引发其他碰撞问题。