Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios SKCropNode无法裁剪子SKEffectNode,且筛选器正在运行_Ios_Sprite Kit_Crop - Fatal编程技术网

Ios SKCropNode无法裁剪子SKEffectNode,且筛选器正在运行

Ios SKCropNode无法裁剪子SKEffectNode,且筛选器正在运行,ios,sprite-kit,crop,Ios,Sprite Kit,Crop,也许这是有道理的,但我注意到,如果将SKEffectNode作为SKCropNode的子节点,则如果所述SKEffectNode的过滤器设置为某个值,则裁剪根本不起作用 具体地说,我在SKEffectNode上使用了一个模糊CIFilter。我在游戏中做了一个切换按钮,这样我可以打开/关闭模糊效果,很明显SKCropNode不能裁剪模糊的东西。我想知道这是否也适用于大多数/所有其他CIFilter 顺便说一句,我启用模糊的方式如下: SKEffectNode* nodetoblur = [sel

也许这是有道理的,但我注意到,如果将SKEffectNode作为SKCropNode的子节点,则如果所述SKEffectNode的过滤器设置为某个值,则裁剪根本不起作用

具体地说,我在SKEffectNode上使用了一个模糊CIFilter。我在游戏中做了一个切换按钮,这样我可以打开/关闭模糊效果,很明显SKCropNode不能裁剪模糊的东西。我想知道这是否也适用于大多数/所有其他CIFilter

顺便说一句,我启用模糊的方式如下:

SKEffectNode* nodetoblur = [self thenodetoblur];
CIFilter *blur = [CIFilter filterWithName:@"CIGaussianBlur" keysAndValues:@"inputRadius", @10.0f, nil];
nodetoblur.filter = blur;
nodetoblur.shouldEnableEffects = YES;
然后关闭:

SKEffectNode* nodetoblur = [self thenodetoblur];
nodetoblur.filter = nil;
nodetoblur.shouldRasterize = NO;
nodetoblur.shouldEnableEffects = NO;
谁能解释一下SKCropNode效率低下背后的理论,以及可能的解决方法

…也许我应该创建SKEffectNode的SKCropNode子级,而不是(当前)其他方式


更新:罪魁祸首似乎是创建了一个SKEffectNode,并将
shouldEnableEffects
设置为YES。必须将其设置为“否”,否则SKCropNode无法裁剪SKEffectNode。

我尝试使用
SKCropNode
裁剪
SK3DNode
也无效。我认为这与将数据写入单独的缓冲区有关,
SKCropNode
无法很好地处理这些缓冲区。