我正在尝试创建一个用户通过射击球进行游戏的游戏。我希望球从顶部边框和侧边框反弹。球最初放置在底部边界处,当用户触摸一个点时,球朝那个方向移动并从边界弹开。但是,我希望球再次触及底部边界时停止,而不是从它弹回。我已经做到这一点,以便球从所有边界反弹,但我希望它只能从顶部和两侧反弹。如果这段代码不足以做出正确的反应,我很抱歉;我在这个论坛上相对较新:)
let border = SKPhysicsBody(edgeLoopFrom: self.frame)
//create variable representing frame of gamescene
border.friction = 0
border.restitution = 1
self.physicsBody = border
这是碰撞检测的代码。 func didBegin(_ contact:SKPhysicsContact){
if (contact.bodyA.categoryBitMask == BodyType.ball.rawValue && contact.bodyB.categoryBitMask == BodyType.BottomBorder.rawValue){
SmallBall.isPaused = true
}
else if(contact.bodyB.categoryBitMask == BodyType.ball.rawValue && contact.bodyA.categoryBitMask == BodyType.BottomBorder.rawValue)
{
SmallBall.isPaused = true
}
}
}