KineticJS工具提示指向一条线的中间

时间:2014-04-04 10:59:32

标签: kineticjs

我在这画一条线:

var connect_line = new Kinetic.Line({
        points : [beginX, beginY, endX, endY - 10],
        name : 'line',
        stroke : '#6699ff',
        strokeWidth : 4,
        lineCap : 'round',
        dash : [29, 20, 0.001, 20],
        id : id
});

我想在鼠标悬停时显示工具提示:

var tooltip = new Kinetic.Label({
        x : ?,
        y : ?,
        opacity : 0.75
    });
...

如何计算工具提示的坐标以显示它指向线条的中间?此外,当线条可拖动时,我如何计算线条中间的新坐标?

1 个答案:

答案 0 :(得分:1)

您可以通过以下方式获取xy

var x = line.points()[0] / 2 + line.points()[2] / 2 + line.x();
var y = line.points()[1] / 2 + line.points()[3] / 2 + line.y();

演示:http://jsbin.com/nibuv/1/edit