swift - 用 SpriteKit 在矩形上画一个洞?

标签 swift sprite-kit skshapenode

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

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


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

最佳答案

这是代码。

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)

    }
}

enter image description here

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

关于swift - 用 SpriteKit 在矩形上画一个洞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34576112/

相关文章:

swift - enumerateChildNodes 在 Sprite 工具包中找不到子节点 - Swift 4

iOS7 Sprite Kit 我可以存档整个场景并将其用作保存游戏吗?

Swift SKShapeNode 不接受初始化程序

swift - 围绕任意点旋转 SKShapeNode

ios - 扫描二维码经常崩溃-AVCaptureSession

ios - XCode 版本 8.3.1 (8E1000a) IBOutlet 连接问题

background - SpriteKit——多任务处理的正确方法

ios - 如何识别来自 UITableView 的 UITableViewCell 中多个按钮的点击 - Swift 4

ios - ipad模拟器上的UIImagePicker不是全宽

ios - 检查作为线的 SKShapeNode 是否包含点