我试图在一个Sprite Kit项目中创建一个圆形掩模。我像这样创建了圆形(将其定位在屏幕的中心位置):
SKCropNode *cropNode = [[SKCropNode alloc] init];
SKShapeNode *circleMask = [[SKShapeNode alloc ]init];
CGMutablePathRef circle = CGPathCreateMutable();
CGPathAddArc(circle, NULL, CGRectGetMidX(self.frame), CGRectGetMidY(self.frame), 50, 0, M_PI*2, YES);
circleMask.path = circle;
circleMask.lineWidth = 0;
circleMask.fillColor = [SKColor blueColor];
circleMask.name=@"circleMask";
在代码的进一步部分,我将其设置为cropNode
的遮罩:
[cropNode setMaskNode:circleMask];
... 但是内容显示的不是圆形,而是以正方形的形式出现掩模。
我能否使用 SKShapeNode
作为掩模,或者需要使用图像?
CGPath
或UIBezierPath
创建UIImage
,然后从图像生成纹理。 - 0x141E