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

相关问题