Swift 用SpriteKit在矩形上画一个洞?

Swift 用SpriteKit在矩形上画一个洞?,swift,sprite-kit,skshapenode,Swift,Sprite Kit,Skshapenode,如何在矩形上画一个孔? 我想画一个矩形,里面有一个空洞,背景可以显示出来 我正在使用SKShapeNode创建一个矩形,但我不知道如何在其中创建一个孔(圆) 这是我运行你的代码,但我的圆圈不是空的,圆圈是黑色的,我希望它是空的。 有什么我没有提到的错误吗? 这是代码 import SpriteKit class GameScene: SKScene { override func didMove(to view: SKView) { let effect = SK

如何在矩形上画一个孔? 我想画一个矩形,里面有一个空洞,背景可以显示出来

我正在使用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。然后我加上矩形。最后,我将孔添加到矩形中。

我仍然有一些问题,我希望圆形为空!如何使用.减法?如果我选择其他颜色来矩形或矩形,有什么不同circle@Yan-仁黄:行动。。。让我检查一下:D@Yan-仁黄:修好了!请看一看,这对我不管用。它所做的只是减去颜色(把它渲染成黑色)。我想看看绿色长方形下面是什么,比如从一个洞里看(一个切口)。看看SKCropNode谢谢~SKCropNode很管用@严仁黄嘿,你能和SKCropNode分享一下你的代码吗?谢谢