gpt4 book ai didi

ios - Sprite Kit - SKShapeNode 路径不绘制四边形曲线

转载 作者:IT王子 更新时间:2023-10-29 07:47:54 24 4
gpt4 key购买 nike

我一直在研究 Apple 的新 Sprite Kit,现在已经使用了一段时间。但是,我在尝试为 SKShapeNode 绘制曲线路径时遇到了问题。它似乎只是画了一条直线。

这是我遇到的问题的一个非常简单的示例 - 尝试为 SKShapeNode 绘制 CGPath:

    CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, 0, 0);
CGPathAddQuadCurveToPoint(path, NULL, 50, 100, 100, 0);
CGPathAddLineToPoint(path, NULL, 50, -100);
CGPathCloseSubpath(path);

SKShapeNode *shape = [[SKShapeNode alloc]init];
shape.path = path;

[self addChild:shape];

CGPathRelease(path);

这是我的 ASCII 艺术作品(抱歉,我还没有足够的声誉来发布实际图像):

---------------------------------------------------------------------------------
| EXPECTED RESULT | ACTUAL RESULT |
---------------------------------------------------------------------------------
| | |
| __----__ | |
| / \ <- Curve | ? |
| / \ | ____________ |
| \ / | \ / |
| \ / | \ / |
| \ / | \ / |
| \ / | \ / |
| \ / | \ / |
| \/ | \/ |
---------------------------------------------------------------------------------

如您所见,这行代码并没有画出我想要的曲线:

CGPathAddQuadCurveToPoint(path, NULL, 50, 100, 100, 0);

我已经尝试使用 CGPathAddArcToPoint(...),它有效,并且在这个例子中是一个很好的替代品。但是,为了我的实际需要,我需要能够绘制四边形曲线。

除了 CGPathAddQuadCurveToPoint(...)CGPathAddCurveToPoint(...) 之外,CGPath 似乎正在适本地绘制所有内容 - 它们只是绘制一条直线而不是点之间。

有人知道问题出在哪里吗?或者这是 Sprite Kit 的错误?

最佳答案

“y”应该是曲线的高度,尝试给它一个非零值。通过给出坐标,它无法知道曲线应该有多陡。所以这就是高度

CGPathAddQuadCurveToPoint(path, NULL, 50, 100, 100, 30);

关于ios - Sprite Kit - SKShapeNode 路径不绘制四边形曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21294642/

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