在Sprite中是否有一种方法可以将屏幕(所有当前SKScene呈现的节点)捕获到SKTexture,以便应用CIFilter,然后将SKTexture分配回一个新的SKSpriteNode
我知道我可以设置一个SKEffectNode,作为我的节点树的父节点,应用一个过滤器等等,然后这样得到结果,但是我真的需要一个经过过滤的SKTexture (或SKSpriteNode),以便以后可以重用。
编辑:
可能的解决办法:
textureFromNode:
Renders and returns a Sprite Kit texture that contains the node’s contents.是的,这是可行的:
SKTexture *texture = [[self view] textureFromNode:[self scene]];
[blurSprite setTexture:texture];发布于 2014-06-02 20:59:24
来自苹果文档:
textureFromNode:呈现并返回包含节点内容的Sprite纹理。
代码示例:
SKTexture *texture = [[self view] textureFromNode:[self scene]];
[blurSprite setTexture:texture];发布于 2014-05-29 11:59:01
您应该尝试使用来自snapshotViewAfterScreenUpdates:的UIView方法。
您的SKScene位于具有此方法的SKView中。
之后,您可以从视图中提取图像,并使用它创建一个SKNode。
https://stackoverflow.com/questions/23932434
复制相似问题