【发布时间】:2017-03-28 02:11:29
【问题描述】:
我正在尝试创建一个用户通过投篮来玩的游戏。我希望球从顶部边界和侧边界反弹。球最初放置在底部边界,当用户触摸一个点时,球会朝那个方向移动并从边界反弹。但是,我希望球在再次触及底部边界时停止,而不是从它弹起。我已经做到了让球从所有边界反弹,但我希望它只从顶部和侧面反弹。如果此代码不足以做出正确响应,我深表歉意;我在这个论坛上比较新:)
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
}
}
}
【问题讨论】:
标签: swift sprite-kit frame bounds