Phaser 3 Graphics中缺少lineCap,无法平滑地绘制鼠标

时间:2019-12-11 23:41:22

标签: html5-canvas phaser-framework

我正在移植一个较旧的Phaser 2鼠标绘图,我意识到新的图形类不提供画布上下文的“ lineCap”属性。 在Phaser 2版本中,我写道:

var canvas = this.make.bitmapData(800, 600);
var ctx = canvas.ctx;
ctx.lineWidth = 20;
ctx.lineJoin = ctx.lineCap = 'round';
ctx.strokeStyle = '#000000';

// and then in the mouse move function
ctx.beginPath();    
ctx.moveTo(last_pos.x, last_pos.y);
ctx.lineTo(pointer.x, pointer.y);
ctx.stroke();
ctx.closePath();

在V3中,我需要这样做:

var canvas = this.add.graphics();
canvas.lineStyle(20, 0x000000, 1);
//in move function:
canvas.beginPath();
canvas.moveTo(drawpoint.x, drawpoint.y);
canvas.lineTo(pointer.x,pointer.y);
canvas.fillPath()
canvas.strokePath();
canvas.closePath();

如果lineWidt很大(> 4),这会给我留下非常锯齿的线条

有什么想法吗?

0 个答案:

没有答案