请问下cc.graphics画arc时会改变起点吗,我用1.5.0是ok的,升级到1.5.2就这样了?
我想画一个上面两个角为圆角,下面两个角为方角的形状,在使用close闭合路径时,发现起点到了最后一次绘制arc的起点。
在v1.5.0下面是ok的,升级到1.5.2后就变这样了。有没有好办法解决?
代码如下:
this.ctx.moveTo(0, 0); this.ctx.lineTo(0, 150 - this.raduis); this.ctx.arc(this.raduis, 150 - this.raduis, this.raduis, Math.PI, 0.5 * Math.PI); this.ctx.lineTo(800 - this.raduis, 150); this.ctx.arc(800 - this.raduis, 150 - this.raduis, this.raduis, 0.5 * Math.PI, 0); this.ctx.lineTo(800, 0); this.ctx.lineTo(0, 0); this.ctx.lineTo(0, 150 - this.raduis); this.ctx.close(); this.ctx.stroke(); this.ctx.fill();
arc 会改变起点的,你不要用 close,用 lineTo 代替就好了
不使用close,没法用fill填充。
fill的填充区域还是和close的闭合区域一致的。
不使用close的效果如下:

代码如下:
this.ctx.arc(this.raduis, 150 - this.raduis, this.raduis, Math.PI, 0.5 * Math.PI); this.ctx.lineTo(800 - this.raduis, 150); this.ctx.arc(800 - this.raduis, 150 - this.raduis, this.raduis, 0.5 * Math.PI, 0); this.ctx.lineTo(800, 0); this.ctx.lineTo(0, 0); this.ctx.lineTo(0, 150 - this.raduis); // this.ctx.close(); this.ctx.stroke(); this.ctx.fill();
