Easeljs绘制不同种类的箭头

Easeljs draw different kinds of arrows

此应用程序是使用 Easeljs 制作的,适用于 HTML5 canvas。

我希望能够在棋盘上画出不同种类的箭头。我尝试插入箭头作为图像,然后使它们可拖动和调整大小,但这使这些图像非常难看。

举例说明:

要借鉴的领域

在场上绘制箭头

功能应该如下:

我怎样才能得到这个结果?

您可以使用图形 API 相当轻松地绘制箭头。我花了大约 20 分钟制作这个演示:

代码:

var w = startX - endX;
var h = startY - endY;
var lineLength = Math.sqrt(w*w+h*h);

arrow.graphics.clear().setStrokeStyle(3).beginStroke("#000").moveTo(0,0);
// Logic to draw to the end. This is just a straight line
arrow.lineTo(lineLength-arrowHeadSize, 0);

arrow.graphics.beginFill("#000");
arrow.graphics.drawPolyStar(lineLength, 0, arrowHeadSize, 3);

// Rotate
arrow.rotation = Math.atan2(h, w) * 180/Math.PI;

画直并旋转是给线条添加效果最简单的方法。我发布的演示绘制了一种正弦波,就像您的一个示例一样。那里还有一些魔法可以使它的长度合适,等等。