cc.Graphics 如何画一个环形?

cc.Graphics 如何画一个环形?
cc.Graphics绘制的时候 不是使用“非零环绕原则”么 我怎么绘制不出一个环形啊

在html的canvas里
ctx.beginPath();
// outer circle
ctx.arc(20, 20, 10, 0, Math.PI * 2, true);
// inner circle
ctx.arc(20, 20, 5, 0, Math.PI * 2, false);
ctx.fill();
可以绘制一个环形,使用cc.Graphics 出来的是一个实心圆

请分清,环形与空心圆的区别

我去,你是装新手,还是真的完全不懂?这是最绘制简单的“非零环绕原则”的一个实现,没有这个原则绘制的代码会有很大的不同。

我是真的不懂:joy:,没用过这些东西

cc.Graphics 没有实现这么复杂的规则

因为我很习惯html5的canvas的绘制方式,使用cc.Graphics虽然api与canvas比较相似,但绘制出的效果很不同。我不知道cc.Graphics是不是还没有完成的半成品,或者是完全不同于canvas的绘图概念,如果有详细的绘制机制提供出来就好了,因为我不太熟悉shader,一些特效目前写起来比较尴尬。不知道后续的方向是什么样的。

嗯,确实,我最近也遇到类似的问题,我希望能绘制文字或图片数据发现都没办法

        var ctx = this.node.getComponent(cc.Graphics);
		ctx.clear();
        // ctx.fillColor = cc.Color.RED;
        ctx.lineWidth = 20;
        ctx.strokeColor = cc.Color.RED;
        ctx.circle(200,400,100);
        ctx.stroke()

这个可以得到一个环,不过我试了下没法画扇形环,都是闭环的。

请问什么时候能实现非零环绕?

this.ctx.clear();
this.ctx.lineWidth = 10;
this.ctx.arc(0, 0, 100, 0, Math.PI, false);
this.ctx.arc(0, 0, 100, 0, Math.PI, true);
this.ctx.stroke();

同求,非零环绕:dancer: