无法在SCNView覆盖中采用textureFromNode

时间:2014-11-16 10:57:49

标签: ios scenekit

在SceneKit中,我们使用overlay来绘制SpriteKit节点

///setup overlays
scnView.overlaySKScene = [[AAPLOverlayScene alloc] initWithSize:scnView.bounds.size];

现在我想将一些sknodes树绘制并快照到sktexture:

SKNode *tmp=[[SKNode alloc] init];
//draw some images on tmp
//....
SKTexture *tmpT = [self.view textureFromNode:tmp]; //crash

在日志中:***由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [SCNView textureFromNode:]:无法识别的选择器发送到实例0x12e5265a0'

正如我所见,它说的是“SCNView”,而不是spritekit。那么,在这种情况下如何从节点获取纹理?

UPD 是的,我知道screenshot of scene。这是开销,我只需要sknode。

1 个答案:

答案 0 :(得分:1)

SCNView没有此功能(它没有实现" textureFromNode")。 也许您可以尝试实例化SKView来执行SKNode的快照。

SKView *snapshotView = [[SKView alloc] initWithFrame:...];
SKTexture *tmpT = [snapshotView textureFromNode:tmp];