Cerco di disegnare un cerchio singolo nel mio progetto SpriteKit per iOS ma i bordi del cerchio non sono lisci. Mi piacerebbe avere un cerchio ben disegnato come lo disegnerei con Photoshop (anti-aliasing). Ho trovato diverse domande simili ma il mio problema rimane.Disegna cerchio liscio nel kit sprite iOS
-(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;
}
Qual è il trucco qui?
Penso che sia necessario assegnare al nodo un valore di larghezza riga superiore a 0. L'antialiasing è attivato per impostazione predefinita, ma penso che si applichi solo alle linee, non al riempimento. – gabuh
A proposito, l'antialiasing di SKShapeNode non è molto buono, almeno nei test che ho fatto qualche tempo fa, ho finito con la creazione di SKSpriteNodes con immagini normali. – gabuh
@gabuh grazie :). Impostare lineWidth = 5 ha fatto il trucco. Dovresti postare questo come una risposta per guadagnare punti :). Grazie! – xpepermint