【问题标题】:Mix colour in Sprite Kit在 Sprite Kit 中混合颜色
【发布时间】:2015-10-22 14:51:58
【问题描述】:

我是 Sprite Kit 的新手,我想用它来实现一个简单的游戏。我想知道这在 Sprite Kit 中是否可行:

假设我画了两个圆圈,一个是Red,另一个是Green。这两个圆圈之间有一个重叠区域,我希望这个区域的颜色可以自动设置为RED + Green = Yellow,如下图所示。

是否可以使用 Sprite Kit 做到这一点?如果可以,如何设置?

非常感谢任何回复!

【问题讨论】:

    标签: ios sprite-kit


    【解决方案1】:

    您可以将blending modeSKEffectNode 结合使用:

    class GameScene:SKScene{
    
        override func didMoveToView(view: SKView) {
    
    
            let effect = SKEffectNode()
    
            //Creating shapenodes
            let shape1 = SKShapeNode(circleOfRadius: 50)
            shape1.fillColor = SKColor.redColor()
            shape1.strokeColor = SKColor.clearColor()
            shape1.zPosition = 1
            shape1.blendMode = SKBlendMode.Add
    
            let shape2 = SKShapeNode(circleOfRadius: 50)
            shape2.fillColor = SKColor.greenColor()
            shape2.strokeColor = SKColor.clearColor()
            shape2.zPosition = 2
            shape2.blendMode = SKBlendMode.Add
    
            let shape3 = SKShapeNode(circleOfRadius: 50)
            shape3.fillColor = SKColor.blueColor()
            shape3.strokeColor = SKColor.clearColor()
            shape3.zPosition = 3
            shape3.blendMode = SKBlendMode.Add
    
    
            //Positioning
            shape1.position = CGPoint(x: CGRectGetMidX(frame), y: CGRectGetMidY(frame))
    
            shape2.position = CGPoint(x: shape1.position.x - 25, y: shape1.position.y - 50)
    
            shape3.position = CGPoint(x: shape1.position.x + 25, y: shape1.position.y - 50)
    
            effect.addChild(shape1)
            effect.addChild(shape2)
            effect.addChild(shape3)
    
            self.addChild(effect)
    
        }
    }
    

    结果:

    【讨论】:

    • 这正是我想要的!谢谢!
    • 还有一个问题。不是用纯色填充圆圈,如果我用彩色纹理填充它(例如带有红色和绿色图案的png图片),是否可以达到类似的效果?
    • @HunTerDRF 是的,您可以使用 SKSpriteNode 并使用纹理对其进行初始化。
    • 谢谢!我会试试看的!
    猜你喜欢
    • 2014-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多