Сравнение цвета заполнения SKShapeNode

#swift #skshapenode

#swift #skshapenode

Вопрос:

Я работаю над небольшой игрой, в которой мне нужно сопоставить некоторые цвета. Я работаю только с SKShapeNodes; но, похоже, я не могу заставить этот код работать. Я получаю только печать «Другого цвета».

     func didBegin(_ contact: SKPhysicsContact) {
    let firstBody = contact.bodyA
    let secondBody = contact.bodyB

    if firstBody.categoryBitMask == PhysicsCategory.colorNode amp;amp; secondBody.categoryBitMask == PhysicsCategory.colorBox || firstBody.categoryBitMask == PhysicsCategory.colorBox amp;amp; secondBody.categoryBitMask == PhysicsCategory.colorNode {

        let firstNode = contact.bodyA.node as? SKShapeNode
        let secondNode = contact.bodyB.node as? SKShapeNode            

        if firstNode?.fillColor == secondNode?.fillColor {
            /* TODO: Update score label */
            print("Same Color")
            point =  1
        }
        else {
            print("Differnet color!")
            /* TODO: Game over */
        }            
    }
}
 

Любая помощь приветствуется 🙂

Ответ №1:

Я нашел решение. Один из SKShapeNode был преобразован в дочерний элемент SKNode, содержащий physicsBody.

Теперь код работает идеально.