Sprite Kit - SKShapeNode在碰撞后消失

时间:2014-06-23 12:20:03

标签: ios sprite-kit swift collision

我创造了一个球在屏幕上反弹,但是当它击中屏幕边界时,球就会消失

这是我目前的代码

 override func didMoveToView(view: SKView) {
    /* Setup your scene here */
    self.backgroundColor = SKColor.whiteColor()
    self.physicsWorld.gravity = CGVectorMake(0, 0)

    self.physicsBody = SKPhysicsBody(edgeLoopFromRect: self.frame)
    self.physicsBody.restitution = 0.0
    self.physicsBody.angularDamping = 0.0
    self.physicsBody.friction = 0.0
    self.physicsBody.dynamic = false
    self.physicsBody.categoryBitMask = borderCategory
    self.physicsBody.collisionBitMask = bCategory

    self.setUpBall()
}

func setUpBall() {
    ball = SKSpriteNode(imageNamed: "Ball")

    ball.physicsBody = SKPhysicsBody(circleOfRadius: ball.frame.width/2)
    ball.physicsBody.restitution = 0.8
    ball.physicsBody.angularDamping = 0.5
    ball.physicsBody.linearDamping = 0.5
    ball.physicsBody.allowsRotation = false
    ball.physicsBody.usesPreciseCollisionDetection = true
    ball.physicsBody.friction = 0.0
    ball.physicsBody.dynamic = true
    ball.physicsBody.categoryBitMask = bCategory
    ball.physicsBody.categoryBitMask = borderCategory

    ball.position = CGPointMake(self.frame.width/2, self.frame.height/2)
    self.addChild(ball)

    ball.physicsBody.applyImpulse(CGVectorMake(15, 20))
}

1 个答案:

答案 0 :(得分:1)

ball.physicsBody.categoryBitMask = bCategory
ball.physicsBody.categoryBitMask = borderCategory

你不是说

ball.physicsBody.collisionBitMask = borderCategory