我有一个 SKSprite 节点,我想让它在联系后消失。我尝试设置 .hidden = true 但这不起作用
var coin = SKSpriteNode()
//MARK: SKPhysicsContactDelegate methods
func didBeginContact(contact: SKPhysicsContact) {
if (contact.bodyA.categoryBitMask == userCategory) && (contact.bodyB.categoryBitMask == objectCategory) {
gameOver = 1
movingObjects.speed = 0
presentGameOverView()
} else if (contact.bodyA.categoryBitMask == userCategory) && (contact.bodyB.categoryBitMask == coinCategory) {
println("scoring")
//code to hide node
coin.hidden = true //not working
}
}
}
最佳答案
SKPhysicsBody
有一个名为 node
的属性。可以在 didContactBegin
函数内部访问它以隐藏节点
。
func didBeginContact(contact: SKPhysicsContact) {
if (contact.bodyA.categoryBitMask == userCategory) && (contact.bodyB.categoryBitMask == coinCategory) {
println("scoring")
//code to hide node
contact.bodyB.node?.hidden = true // Changed
}
}
关于iphone - 联系后尝试隐藏节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28418301/