Рисовать дыру в прямоугольнике с помощью SpriteKit?

Как нарисовать дыру в прямоугольнике? Я хочу нарисовать прямоугольник, в котором есть пустое отверстие, и фон можно показать.

Я использую SKShapeNode для создания прямоугольника, но я понятия не имею, как сделать отверстие (круг) внутри него.


Это то, что я запускаю ваш код, но мой круг не пустой, круг черный, я хочу, чтобы он был пустым. Есть ли какая-то ошибка, о которой я не упомянул? введите описание изображения здесь

1 ответ

Вот код

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. Затем я добавляю к нему прямоугольник. Наконец я добавляю отверстие в прямоугольник.

Другие вопросы по тегам