我正在尝试通过使用两个重叠的圆圈来创建新月效果。我的想法是我可以从另一个中减去一个,但我在执行它时遇到了麻烦。
这是我对路径进行编码的方式(第二条路径与第一条路径重叠了大约一半):
SKShapeNode *baseMoon = [[SKShapeNode alloc ]init];
CGMutablePathRef moon = CGPathCreateMutable();
CGPathAddArc(moon, NULL, 0, 0, 50, 0, M_PI*2, YES);
CGPathCloseSubpath(moon);
CGPathAddArc(moon, NULL, 0, 50, 50, 0, M_PI*2, YES);
CGPathCloseSubpath(moon);
baseMoon.path = moon;
CGPathRelease(moon);
baseMoon.lineWidth = size;
baseMoon.strokeColor = [SKColor whiteColor];
有谁知道如何从第一条路径中减去第二条路径?我已经研究过使用 CGContextClip,但这需要 UIGraphicsGetCurrentContext(XCode 警告我可能会导致不稳定)所以我一直在寻找另一种解决方案。