#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.
Теперь код работает идеально.