联系后试图隐藏节点



我有一个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函数内部访问以隐藏node

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
    }
}

最新更新