簡體   English   中英

當我在層次結構中添加額外的SKNode子項時,SKCropNode失敗

[英]SKCropNode fails when I add extra SKNode children in hierarchy

更新:看起來iOS 10已修復此問題。 我升級到Swift 3和Xcode 8,一切都按預期工作。


我現在已經遇到過這個問題了幾次,我不知道它是否是SKCropNode中的一個錯誤,或者我只是在濫用它。 也許有一些文件我不知道為什么會發生這種情況?


我有一個100x100矩形形狀的裁剪節點作為蒙版。 如果我在其中放置一個藍色圓圈,它會被正確裁剪。

// Create a crope node with a small square.
let cropNode = SKCropNode()
let cropNodeMask = SKShapeNode(rect: CGRect(x: 0, y: 0, width: 100, height: 100))
cropNodeMask.fillColor = UIColor.whiteColor()
cropNode.maskNode = cropNodeMask
self.addChild(cropNode)

// Create a blue circle and put it in the crop node.
let blueCircle = SKShapeNode(circleOfRadius: 110)
blueCircle.fillColor = UIColor.blueColor()
blueCircle.strokeColor = UIColor.clearColor()
cropNode.addChild(blueCircle)

在此輸入圖像描述


現在,當我將同一個圓放在一個空的SKNode中並將該容器放在同一個裁剪節點內時,裁剪失敗。

// Create a crope node with a small square.
let cropNode = SKCropNode()
let cropNodeMask = SKShapeNode(rect: CGRect(x: 0, y: 0, width: 100, height: 100))
cropNodeMask.fillColor = UIColor.whiteColor()
cropNode.maskNode = cropNodeMask
self.addChild(cropNode)

// Create a container to hold the circle.
let container = SKNode()
cropNode.addChild(container)

// Create a blue circle and put it in the container.
let blueCircle = SKShapeNode(circleOfRadius: 110)
blueCircle.fillColor = UIColor.blueColor()
blueCircle.strokeColor = UIColor.clearColor()
container.addChild(blueCircle)

在此輸入圖像描述


但是同一容器中的一個精靈似乎被裁剪得很好。

// Create a crope node with a small square.
let cropNode = SKCropNode()
let cropNodeMask = SKShapeNode(rect: CGRect(x: 0, y: 0, width: 100, height: 100))
cropNodeMask.fillColor = UIColor.whiteColor()
cropNode.maskNode = cropNodeMask
self.addChild(cropNode)

// Create a container to hold the sprite.
let container = SKNode()
cropNode.addChild(container)

// Create a spaceship and add it to the container.
let spaceshipNode = SKSpriteNode(imageNamed: "Spaceship")
spaceshipNode.anchorPoint = CGPointZero
container.addChild(spaceshipNode)

在此輸入圖像描述

SKShapeNode被竊聽,最好不惜一切代價避免它。 使用它來創建形狀,然后將其轉換為紋理以與SKSpriteNode一起使用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM