我正在开发一个小游戏,我必须匹配一些颜色。我只使用 SKShapeNodes;但我似乎无法让这段代码工作。我只得到“不同颜色”的打印结果。
func didBegin(_ contact: SKPhysicsContact) {
let firstBody = contact.bodyA
let secondBody = contact.bodyB
if firstBody.categoryBitMask == PhysicsCategory.colorNode && secondBody.categoryBitMask == PhysicsCategory.colorBox || firstBody.categoryBitMask == PhysicsCategory.colorBox && 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 */
}
}
}
任何帮助表示赞赏:-)
最佳答案
我找到了解决方案。其中一个 SKShapeNode 被制作为包含PhysicsBody 的 SKNode 的子节点。
代码现在可以完美运行。
关于swift - SKShapeNode 填充颜色比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40045592/