0

2 つの重なり合う円を使用して、三日月の効果を作成しようとしています。私の考えでは、一方を他方から引くことができましたが、それを実行するのに苦労しています。

パスをコーディングした方法は次のとおりです(2番目のパスは最初のパスと約半分重なっています):

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];

最初のパスから2番目のパスを差し引く方法を知っている人はいますか? CGContextClip の使用を検討しましたが、それには UIGraphicsGetCurrentContext が必要なので (XCode は不安定になる可能性があると警告しています)、別の解決策を探していました。

4

2 に答える 2

0

SKCropNodeを使用する必要があります。余分な文字を送信できるようにします。

于 2013-12-06T12:33:45.023 に答える