我使用SKShapeNode绘制从A点到B点的一些线条。这条线很宽,我需要对角线进行圆角处理以使其更加美观。
经过一些搜索,有一个CGPathCreateWithRoundedRect,但我不确定它是否可以在对角线上画线。
我尝试在行开头和行结尾添加一个圆圈,但结果并不完美,特别是如果我在圆圈和直线上都使用了glowWidth。
这是我画一条线的方式:
SKShapeNode *yourline = [SKShapeNode node];
CGMutablePathRef pathToDraw = CGPathCreateMutable();
CGPathMoveToPoint(pathToDraw, NULL, from.x, from.y);
CGPathAddLineToPoint(pathToDraw, NULL, to.x, to.y);
yourline.path = pathToDraw;
[yourline setStrokeColor:[UIColor redColor]];
[nodeGridLines addChild:yourline];
我是spritekit的新手,也许还有其他方法可以做我想要的。 如果我可以在我的线上使用一些纹理,那就太棒了。
答案 0 :(得分:0)
使用CGPathCreateCopyByStrokingPath,我可以将kCGLineCapRound设置为具有圆角的线。
我还在寻找一种在我的线上应用纹理的方法。
答案 1 :(得分:0)
您可以使用SKShapeNode的lineCap属性。
UIBezierPath *linePath = [UIBezierPath bezierPath];
[linePath moveToPoint:CGPointMake(500, 300)];
[linePath addLineToPoint:CGPointMake(550, 350)];
SKShapeNode *lineNode = [SKShapeNode shapeNodeWithPath:linePath.CGPath];
lineNode.lineCap = kCGLineCapRound;
lineNode.lineWidth = 10;
[self addChild:lineNode];
结果: