swift - SKShapeNode 填充颜色比较

标签 swift skshapenode

我正在开发一个小游戏,我必须匹配一些颜色。我只使用 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/

相关文章:

ios - Swift 在运行时获取 `Scheme Name or Swift Compiler - Custome Flags` 值

sprite-kit - Spritekit 跟随触摸点的线

ios - 不能在 inout 函数中使用 SKShapeNode

swift - 从点数组快速绘制平滑曲线

ios - 即使重新启动应用程序,也会在标签中保存数字

ios - 如何在 Swift 中使用 'FMDB/SQLCipher' 加密和解密?

arrays - SwiftUI 组合来自两个不同数组的两个 ObservedObject

ios - 对 iOS 上 SpriteKit 中的坐标、框架和子节点感到困惑?

swift - 创建自定义类时看不到我的 SKShapeNode

ios - 将图像添加到 MKAnnotationView 会取代 pin