【问题标题】:Spritekit line with round corner带圆角的 Spritekit 线
【发布时间】:2014-10-15 13:06:12
【问题描述】:

我使用 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 的新手,也许还有其他方法可以做我想做的事。 如果我可以在我的线条上使用一些纹理,那就太好了。

【问题讨论】:

    标签: ios objective-c xcode sprite-kit


    【解决方案1】:

    您可以使用 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];
    

    结果:

    【讨论】:

      【解决方案2】:

      使用 CGPathCreateCopyByStrokingPath 我可以将 kCGLineCapRound 设置为具有圆角的线。

      我仍在寻找一种在我的线上应用纹理的方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-01-18
        • 2015-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-12
        • 2011-04-05
        相关资源
        最近更新 更多