Mit SKShapeNode können Sie Formen im Sprite-Kit zeichnen, aber jeder SKShapeNode ist auf eine Linienfarbe (strokeColor) und eine Füllfarbe beschränkt.
Sie können jedoch eine benutzerdefinierte SKNode-Unterklasse erstellen, die zwei SKShapeNodes als untergeordnete Elemente mit jeweils unterschiedlichen strokeColors/fillColors enthält.
Etwas ähnliches wird für eine benutzerdefinierte SKNode arbeiten, die ein Quadrat mit links und oben rot, rechts und unten grün zieht: wird
- (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;
}
Wie ich sagte, dass Zeichnung mit zwei Farben gefüllt werden. Wie kann ich Linien füllen? Das muss entweder einmal das Rechteck oder anderes sein. Ich erkenne an, dass dies der Weg ist, um zu zeichnen, aber ich frage nur, wie kann ich es ausfüllen? – Programmer
Ich weiß nicht, was du meinst. Kannst du ein Bild von dem hochladen, wie es aussehen soll? – Greg
Ich habe ein Bildbeispiel hier gepostet. [link] (http://postimg.org/image/je24gs8yv/) – Programmer