将子级添加到SKCropNode时,应用程序冻结

时间:2019-07-29 06:37:19

标签: swift sprite-kit skcropnode

当我尝试将场景中存在的子项添加到cropNode时,应用程序冻结。但是,如果我将此子项添加为资产中的图像,它不会冻结。当我尝试加载该场景时,应用程序不响应点击。

我使用Swift 5,SpriteKit 11和Xcode 10。

该代码将冻结应用程序:

self.screenApp1 = childNode(withName: "screenapp1") as? SKSpriteNode
let cropMask = SKSpriteNode(imageNamed: "crop")
let cropNode = SKCropNode()

cropNode.position = CGPoint(x: 0, y: 0)
cropNode.maskNode = cropMask
cropNode.zPosition = 4

let child = self.screenApp1
child.size = CGSize(width: 260, height: 346)

cropNode.addChild(child)
addChild(cropNode)

那不是:

let cropMask = SKSpriteNode(imageNamed: "crop")
let cropNode = SKCropNode()

cropNode.position = CGPoint(x: 0, y: 0)
cropNode.maskNode = cropMask
cropNode.zPosition = 4

let child = SKSpriteNode(imageNamed: "screenapp1")
child.size = CGSize(width: 260, height: 346)

cropNode.addChild(child)
addChild(cropNode)

1 个答案:

答案 0 :(得分:0)

我修复了它。 我只需要一行:

child.removeFromParent()

之后

let child = self.screenApp1

现在可以正常使用了。