Ich versuche, einen einzelnen Kreis in meinem iOS SpriteKit Projekt zu zeichnen, aber die Kanten des Kreises sind nicht glatt. Ich hätte gerne einen schön gezeichneten Kreis, wie ich ihn mit Photoshop zeichnen würde (Anti-Aliasing). Ich habe mehrere ähnliche Fragen gefunden, aber das Problem bleibt bestehen.Zeichne glatten Kreis in iOS Sprite Kit
-(id)initWithSize:(CGSize)size
{
if (self = [super initWithSize:size])
{
self.backgroundColor = [SKColor whiteColor];
self.scaleMode = SKSceneScaleModeAspectFill;
self.size = CGSizeMake(640, 1136);
CGRect circle = CGRectMake(100.0, 100.0, 80.0, 80.0);
SKShapeNode *shapeNode = [[SKShapeNode alloc] init];
shapeNode.path = [UIBezierPath bezierPathWithOvalInRect:circle].CGPath;
shapeNode.fillColor = [SKColor redColor];
shapeNode.lineWidth = 0;
[self addChild:shapeNode];
}
return self;
}
Was ist der Trick hier?
Ich denke, dass Sie den Knoten einen LineWidth Wert größer als 0 geben müssen. Das Antialiasing ist standardmäßig aktiviert, aber ich denke, dass gilt nur für die Zeilen, nicht die Füllung. – gabuh
Übrigens, das Antialiasing von SKShapeNode ist nicht sehr gut, zumindest habe ich in den Tests, die ich vor einiger Zeit gemacht habe, die Erstellung von SKSpriteNodes mit normalen Bildern beendet. – gabuh
@gabuh danke :). Die Einstellung lineWidth = 5 hat den Trick gemacht. Sie sollten dies als Antwort posten, um Punkt zu verdienen :). Vielen Dank! – xpepermint