Swift 雪碧不会消失
这是我的密码。我正在尝试创建一个太空射击游戏,当外星人击中屏幕底部时,我希望玩家消失。我不确定这个代码到底出了什么问题Swift 雪碧不会消失,swift,function,sprite-kit,physics,skspritenode,Swift,Function,Sprite Kit,Physics,Skspritenode,这是我的密码。我正在尝试创建一个太空射击游戏,当外星人击中屏幕底部时,我希望玩家消失。我不确定这个代码到底出了什么问题 func gameOver() { let borderBody = SKPhysicsBody(edgeLoopFrom: self.frame) borderBody.categoryBitMask = borderCategory func didBegin(_ contact: SKPhysicsContact) { var
func gameOver() {
let borderBody = SKPhysicsBody(edgeLoopFrom: self.frame)
borderBody.categoryBitMask = borderCategory
func didBegin(_ contact: SKPhysicsContact) {
var firstBody:SKPhysicsBody
var secondBody:SKPhysicsBody
if contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask {
firstBody = contact.bodyA
secondBody = contact.bodyB
}else {
firstBody = contact.bodyB
secondBody = contact.bodyA
}
if (firstBody.categoryBitMask & alienCategory) != 0 && (secondBody.categoryBitMask & borderCategory) != 0 {
player.removeFromParent()
}
func gameOver(){
让borderBody=SKPhysicsBody(edgeLoopFrom:self.frame)
borderBody.categoryBitMask=borderCategory
func didbegen(uu联系人:skphysiccontact){
var firstBody:SKPhysicsBody
var第二个主体:SKPhysicsBody
如果contact.bodyA.categoryBitMask
代码中几乎没有信息。甚至没有人知道名为player的节点是如何创建的。你的didbeagin
方法真的在gameOver
方法中吗?El tomato,我通过以下操作创建了我的播放器:player=SKSpriteNode(imagename:“shuttle”)player.position=CGPoint(x:self.frame.size.width/100,y:-300)player.zPosition=1 self.addChild(player)rmaddy,我很确定我的didbeagin方法在我的gameOver方法中…那是错误的,didbeagin需要在你的类中有物理委托。如果它在你的gameOver中,它将永远不会被调用。