1

我正在使用雪碧套件。我有一个带有以下核心图形代码的形状:

CGMutablePathRef pathRef = CGPathCreateMutable();
CGPathMoveToPoint(pathRef, NULL, 300, 300);
CGPathAddLineToPoint(pathRef, NULL, 400, 300);
CGPathAddCurveToPoint(pathRef, NULL, 400, 335.727, 380.94, 368.739, 350, 386.603);
CGPathCloseSubpath(pathRef);

CGContextSetRGBFillColor(ctx, 1, 1, 1, 1);
CGContextAddPath(ctx, pathRef);
CGContextFillPath(ctx);

CGContextSetLineWidth(ctx, 1);
CGContextSetRGBStrokeColor(ctx, 0, 0, 0, 1);
CGContextAddPath(ctx, pathRef);
CGContextStrokePath(ctx);

CGPathRelease(pathRef);

我注意到当我将它添加到 SKShapeNode 时,它​​会失去填充和描边颜色。我还注意到,当我缩放此对象时,它会将其视为 SpriteNode,而不是矢量。

我知道您可以调整 SKShapeNode 的笔触、填充、笔触宽度、lineCap 和其他内容。

我想要两全其美。我怎样才能从 CoreGraphics 获得完整的形状、填充和笔触到 SKNode 中,以便我可以翻译它并接收鼠标单击事件?

谢谢你的帮助。

4

1 回答 1

1

核心图形属性被忽略,仅应用形状节点上的属性。

SKShapeNode 本质上只是将路径渲染到纹理上,因此形状节点与精灵没有什么不同。

这就是它的样子。交易一些功能以获得更好的渲染性能。

于 2014-11-13T01:18:32.500 回答