È possibile utilizzare SKShapeNode per disegnare forme nel kit sprite, ma ogni SKShapeNode è limitato a un colore di linea (strokeColor) ea un colore di riempimento.
Tuttavia, è possibile creare una sottoclasse SKNode personalizzata che contenga due SKShapeNodes come figli, ciascuno con diversi strokeColors/fillColors.
Qualcosa di simile a questo lavoro per uno SKNode personalizzato che disegna un quadrato con sinistra e top rosso, a destra e in basso a verde:
- (id) init {
if (self = [super init]) {
SKShapeNode* topLeft = [SKShapeNode node];
UIBezierPath* topLeftBezierPath = [[UIBezierPath alloc] init];
[topLeftBezierPath moveToPoint:CGPointMake(0.0, 0.0)];
[topLeftBezierPath addLineToPoint:CGPointMake(0.0, 100.0)];
[topLeftBezierPath addLineToPoint:CGPointMake(100.0, 100.0)];
topLeft.path = topLeftBezierPath.CGPath;
topLeft.lineWidth = 10.0;
topLeft.strokeColor = [UIColor redColor];
topLeft.antialiased = NO;
[self addChild:topLeft];
SKShapeNode* bottomRight = [SKShapeNode node];
UIBezierPath* bottomRightBezierPath = [[UIBezierPath alloc] init];
[bottomRightBezierPath moveToPoint:CGPointMake(0.0, 0.0)];
[bottomRightBezierPath addLineToPoint:CGPointMake(100.0, 0.0)];
[bottomRightBezierPath addLineToPoint:CGPointMake(100.0, 100.0)];
bottomRight.path = bottomRightBezierPath.CGPath;
bottomRight.lineWidth = 10.0;
bottomRight.strokeColor = [UIColor greenColor];
bottomRight.antialiased = NO;
[self addChild:bottomRight];
}
return self;
}
Come ho già detto che il disegno sarà riempito con due colori. Come posso riempire le linee. Deve essere una volta del rettangolo o altro. Riconosco che questo è il modo di disegnare ma sto solo chiedendo come posso riempirlo? – Programmer
Non so cosa intendi. Puoi caricare un'immagine di ciò che vuoi che assomigli? – Greg
Ho pubblicato l'immagine campione qui. [link] (http://postimg.org/image/je24gs8yv/) – Programmer