Sprite Kit 中有没有一种方法可以将屏幕(所有当前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];