SKCropNode不在SpriteKit中渲染灰度掩码值

时间:2015-06-22 19:00:37

标签: swift sprite-kit mask skcropnode

我有一个正常工作的SKCropNode - 除了一件事 - 掩码图像中非黑色或白色的所有灰度值都设置为纯白色。enter image description here

这意味着所有灰度alpha值都不会以透明度渲染,而只是设置为完全不透明。

这是我的代码:

    let foregroundTexture = SKTexture(image: UIImage(contentsOfFile:NSBundle.mainBundle().resourcePath!.stringByAppendingPathComponent("P01_foreground.jpg"))!)
    var foreground = SKSpriteNode(texture: foregroundTexture)

    let maskTexture = SKTexture(image: UIImage(contentsOfFile:NSBundle.mainBundle().resourcePath!.stringByAppendingPathComponent("P01_mask.png"))!)
    var mask = SKSpriteNode(texture: maskTexture)

    var cropNode = SKCropNode()
    cropNode.addChild(foreground)
    cropNode.maskNode = mask
    cropNode.position = CGPoint(x: device.x/2, y: device.y/2)
    cropNode.zPosition = 2.0
    self.addChild(cropNode)

有谁知道为什么灰度区域被设置为白色或者我如何才能达到预期效果?提前谢谢!

1 个答案:

答案 0 :(得分:1)

不幸的是,看起来你不能。 SKCropNode目前只有一个属性maskNode本身。没有其他设置可用于执行您想要的操作。