0
我有一個SKScene,我想快照一個特定的圖層。它可以是一個圖層,顯示在一個白色的帶有SKView的UIView中。但最終我只想從這一層的狀態中捕捉到。 在此先感謝!我可以快照一個SKNode嗎?
我有一個SKScene,我想快照一個特定的圖層。它可以是一個圖層,顯示在一個白色的帶有SKView的UIView中。但最終我只想從這一層的狀態中捕捉到。 在此先感謝!我可以快照一個SKNode嗎?
這對我工作:
var tempView = UIView(frame: CGRectMake(0, 0, 500, 500))
var tempSKView = SKView(frame: tempView.frame)
var tempScene = SKScene(size: tempSKView.bounds.size)
var lineTexture = SKTexture()
lineTexture = skView.textureFromNode(scene.lineLayer)
var lineLayerCopy = SKSpriteNode(texture: lineTexture)
lineLayerCopy.anchorPoint = CGPoint(x: 0.0, y: 0.0)
lineLayerCopy.size = CGSizeMake(500, 500)
tempScene.addChild(lineLayerCopy)
tempScene.backgroundColor = UIColor.whiteColor()
tempSKView.presentScene(tempScene)
tempView.addSubview(tempSKView)
self.view.addSubview(tempView)
注:anchorPoint是必不可少的。它迫使場景在中心位置,所以你有完美的形象。
https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKView/Reference/Reference.html#//apple_ref/occ/instm/SKView/textureFromNode: – LearnCocos2D 2014-09-02 19:54:53
@ LearnCocos2D謝謝,發現了回答文件。 .textureFromNode()是可以做到這一點的方法。 – vyudi 2014-09-02 20:37:06