Line 用EaselJS绘制任意直线

Line 用EaselJS绘制任意直线,line,easeljs,Line,Easeljs,我需要以图形方式连接两个项目。使用EaselJS在两个对象之间绘制任意线的最佳方法是什么?有没有可能制造出像磁铁线这样的东西,附着在最近的物体上 你能举个例子吗 关于。最简单/最快速的方法可能是使用形状,并使用moveTo()和第一个对象的坐标,然后使用lineTo()和第二个对象的坐标。每当物体移动时,你就清除它并重新画线。 就性能而言,我真的不能说这是不是最好的方法,但如果不是太多的行和桌面,我不会担心,你应该会没事的 另一种选择是使用位图,它包含一条线并缩放+将其旋转到正确的长度/角度,如

我需要以图形方式连接两个项目。使用EaselJS在两个对象之间绘制任意线的最佳方法是什么?有没有可能制造出像磁铁线这样的东西,附着在最近的物体上

你能举个例子吗


关于。

最简单/最快速的方法可能是使用形状,并使用
moveTo()
和第一个对象的坐标,然后使用
lineTo()
和第二个对象的坐标。每当物体移动时,你就清除它并重新画线。 就性能而言,我真的不能说这是不是最好的方法,但如果不是太多的行和桌面,我不会担心,你应该会没事的


另一种选择是使用位图,它包含一条线并缩放+将其旋转到正确的长度/角度,如果你想让线在任何方面都“别致”,并且很难用形状来绘制,这可能更方便。

这两种方法对我来说都很好,但我认为我不会重新画线,因为它可以在移动设备上使用。只是与第一种方法有关的一个问题,有没有办法检查两点之间的直线是否与第三个物体碰撞?当然,方法1)最好的方法(可能)是:测量从obj3到直线的距离:如果距离低于某个阈值(obj3的宽度/高度),则必须检查它是否位于obj1和obj2之间,如果是的话,那么就进行中间试验。或方法2)(更精确一点)计算obj3的边界,并对该矩形的每一侧使用线条检查:,此外,您必须检查其中一个交点是否位于obj1+2之间或方法3)性能最差但简单且像素完美的方法(仅适用于位图而不适用于形状)您放置线条,然后进行像素碰撞检查(),如果发生碰撞,则执行操作。即使在移动环境中,重新绘制线条也是最有意义的。为了更新舞台,整个画布将被重新绘制,因此为形状创建新指令将产生几乎无法测量的效果。记住每次都要清除图形,否则每次的说明都会累加起来!