2016-01-03 90 views
5

如何在矩形中繪製一個洞? 我想繪製一個內部有空洞的矩形,並且可以顯示背景。用SpriteKit在矩形中畫一個洞?

我正在使用SKShapeNode創建一個矩形,但我不知道如何在其中創建一個孔(圓形)。


這就是我運行你的代碼,但我的圈子不是空的,圈子是黑色的,我希望它是空的。 有沒有我沒有提到的錯誤? enter image description here

+0

看看SKCropNode – Maarten

+0

謝謝〜SKCropNode工作! –

+1

@ Yan-JenHuang 嘿,你可以請你與SKCropNode分享你的代碼嗎? 謝謝 – Segev

回答

2

這是代碼。

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。然後我添加矩形。最後,我將這個洞添加到矩形中。

+1

我在這裏還是有一些問題,我想圈子是空的! –

+0

如何使用.Subtract方法? 有什麼不同,如果我選擇其他顏色的矩形或圓形 –

+0

@ Yan-JenHuang:ops ...讓我檢查一下:D –