2014-09-02 60 views
0

我有一個SKScene,我想快照一個特定的圖層。它可以是一個圖層,顯示在一個白色的帶有SKView的UIView中。但最終我只想從這一層的狀態中捕捉到。 在此先感謝!我可以快照一個SKNode嗎?

+2

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

+0

@ LearnCocos2D謝謝,發現了回答文件。 .textureFromNode()是可以做到這一點的方法。 – vyudi 2014-09-02 20:37:06

回答

-1

這對我工作:

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是必不可少的。它迫使場景在中心位置,所以你有完美的形象。

相關問題