gpt4 book ai didi

core-graphics - 在 Spritekit 中用两种颜色绘制矩形/圆形和三角形。 . .

转载 作者:行者123 更新时间:2023-12-04 17:49:58 25 4
gpt4 key购买 nike

我可以使用简单的 SKSpriteNode 绘制矩形。但我不能在其中绘制其他类型的图,如三角形、圆形等,带有两种分割颜色。有人建议使用 CGPath。但我是新手,不知道画这种复杂的东西。请任何人都可以用 SPRITEKIT 中的 MULTICOLOR 说明使用这些绘图的简单方法。意思是它们的上半部分是一种颜色,下半部分是第二种颜色。更简洁地说,Shape 分为星形、矩形、三角形或其他两种颜色。
任何帮助将不胜感激。

谢谢 。

最佳答案

您可以使用 SKShapeNode 在 sprite kit 中绘制形状,但每个 SKShapeNode 仅限于一种线条颜色 (strokeColor) 和一种填充颜色。

但是,您可以创建一个自定义 SKNode 子类,其中包含两个 SKShapeNode 作为子项,每个子类具有不同的 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;
}

关于core-graphics - 在 Spritekit 中用两种颜色绘制矩形/圆形和三角形。 . .,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19100888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com