2015-12-11 79 views
1

我希望能夠顯示只顯示圖像中位於父母範圍內的圖像部分的圖像。如果圖像超出了父圖像的邊界,圖像的這些部分將變爲透明。只在其父母的邊界內顯示精靈圖像

只是一個例子,但說我有一個精靈是100 x 100,並且一個子精靈被添加到這個精靈,它是200 x 200並且是藍色的,只有100 x 100的藍精靈將顯示在屏幕。這是我希望儘可能做的。

回答

1

您可以使用SKCropNode達到你需要的東西:

let nodeToMask = SKSpriteNode(color: SKColor.blueColor(), size: CGSize(width: 200, height: 200)) 

let mask = SKSpriteNode(color: SKColor.blackColor(), size: CGSize(width: 100, height: 100)) 

let cropNode = SKCropNode() 

cropNode.addChild(nodeToMask) 
cropNode.maskNode = mask 
cropNode.position = CGPoint(x: CGRectGetMidX(frame), y: CGRectGetMidY(frame)) 

addChild(cropNode) 

在這裏,你有:

  1. nodeToMask對象,它是SKSpriteNode,表示要屏蔽的形象。您可以將它作爲一個孩子添加到裁剪節點。

  2. cropNode對象,它是您計劃掩蓋的圖像的容器。

  3. 您有一個實際的掩碼,它是SKSpriteNode並且您將其指定給作物節點的maskNode屬性。

有關SKCropNode檢查的更多詳細信息docs

+0

這是完美的!正是我在找什麼,謝謝。 – Jarron