Вы можете использовать SKShapeNode для рисования фигур в наборе спрайтов, но каждый SKShapeNode ограничен одним цветом линии (strokeColor) и одним цветом заливки.
Однако вы можете создать пользовательский подкласс SKNode, содержащий два SKShapeNodes в качестве дочерних, каждый с разными цветами strokeColors/fillColors.
Что-то, как это будет работать для пользовательского SKNode, которая рисует квадрат с левой и верхней красной, справа и снизу зеленый:
- (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;
}
Как я уже говорил, что рисунок будет заполнен двумя цветами. Как я могу заполнить строки. Это должно быть как раз из прямоугольника или другого. Я признаю, что это способ сделать рисунок, но я просто спрашиваю, как я могу его заполнить? – Programmer
Я не знаю, что вы имеете в виду. Можете ли вы загрузить изображение того, что вы хотите, чтобы оно выглядело? – Greg
Я разместил здесь образец изображения. [link] (http://postimg.org/image/je24gs8yv/) – Programmer