我一直试图这样做多年,我想做的是,我有一个火箭和导弹在我的场景中下来我想要一个非常简单的解释如何这样做,所以当导弹碰撞使用火箭它将在你的代码中运行一个函数只需调用函数" func"和 我对SKPhysicsBody和enums不是很熟悉,所以请解释一下(这是swift spriteKit)。 在此先感谢。
答案 0 :(得分:0)
我会评论,但我没有足够的声誉XD。我在youtube上观看了一个教程,解释了如何通过碰撞删除。 https://www.youtube.com/watch?v=ylIIy5EbsWQ
func didBeginContact(contact: SKPhysicsContact!){
// Body1 and 2 depend on the categoryBitMask << 0 und << 1
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
}
torpedoDidCollideWithAlien(contact.bodyA.node as SKSpriteNode, alien: contact.bodyB.node as SKSpriteNode)
}
func torpedoDidCollideWithAlien(torpedo:SKSpriteNode, alien:SKSpriteNode){
println("HIT")
torpedo.removeFromParent()
alien.removeFromParent()
aliensDestroyed++
if (aliensDestroyed > 30){
var transition:SKTransition = SKTransition.flipHorizontalWithDuration(0.5)
var gameOverScene:SKScene = GameOverScene(size: self.size, won: true)
self.view.presentScene(gameOverScene, transition: transition)
}
}