用 SpriteKit 在矩形上画一个洞?

Draw a hole in a rectangle with SpriteKit?

如何在矩形中画一个洞? 我想画一个矩形,里面有一个空洞,可以显示背景。

我正在使用 SKShapeNode 创建一个矩形,但我不知道如何在其中制作一个孔(圆)。


这就是我运行你的代码,但是我的圆圈不是空的,圆圈是黑色的,我希望它是空的。 有没有我没有提到的错误?

这是代码。

import SpriteKit

class GameScene: SKScene {

    override func didMove(to view: SKView) {

        let effect = SKEffectNode()
        addChild(effect)

        let rect = SKShapeNode(rect: CGRect(x: 0, y: 0, width: 400, height: 200))
        rect.fillColor = .green
        effect.addChild(rect)


        let hole = SKShapeNode(circleOfRadius: 40)
        hole.position = CGPoint(x: 200, y: 100)
        hole.fillColor = .white
        hole.blendMode = .subtract
        rect.addChild(hole)

    }
}

如您所见,我创建了一个 SKEffectNode。然后我将矩形添加到它。最后,我将孔添加到矩形。