https://forum.cocos.org/t/topic/114718/8
上述帖子描述的问题:“Graphics 绘制圆环填充有bug” 在最新的3.8.3上仍然存在,但是回复中却说已经在3.5.0解决。
我害怕是自己代码的问题,专门使用了帖子中的代码。还是有问题,当内圆更大,圆环更窄时,问题出现的更清楚。看起来像是圆弧的路径点和线的路径点有不可避免的误差,导致闭合计算有问题。

而且当我多加一条close语句时,多出了一条线,更加证明是圆弧和线的连接处误差没有处理导致的。

/**
* 画图型 圆环 有bug
* @param g
* @param centrePoint 圆心点
* @param outerRadius 外半径
* @param innerRadius 内半径
* @param startAngle 开始角度
* @param endAngle 结束角度
* @param strHEX 颜色字符串
*/
drawLineRing(g: Graphics, centrePoint: [number, number] = [0, 0], outerRadius: number = 50, innerRadius: number = 30, startAngle: number = 0, endAngle: number = Math.PI * 2, strHEX: string = '#ff0000') {
const cX = centrePoint[0];
const cY = centrePoint[1];
g.lineWidth = outerRadius - innerRadius;
g.fillColor.fromHEX(strHEX); // 填充颜色
// g.strokeColor.fromHEX("#334C78"); // 边框颜色
g.strokeColor.fromHEX(strHEX); // 边框颜色
g.arc(cX, cY, outerRadius, endAngle, startAngle, true);
g.stroke()
}
用画线方法画圆环,线宽为 圆环宽(大圆半径 减 小圆半径)
