我创造了一个球在屏幕上反弹,但是当它击中屏幕边界时,球就会消失
这是我目前的代码
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))
}
答案 0 :(得分:1)
ball.physicsBody.categoryBitMask = bCategory
ball.physicsBody.categoryBitMask = borderCategory
你不是说
ball.physicsBody.collisionBitMask = borderCategory