如何通过kineticjs中的一个点拉线/多边形?

时间:2012-11-21 05:21:28

标签: javascript canvas kineticjs

我的代码的某些部分here

var stage = new Kinetic.Stage({
        container: "canvas",
        width: 300,
        height: 200
    });

    var layer = new Kinetic.Layer({
    });
    var line = new Kinetic.Polygon({
        id: 'wall',
        points: [50, 50, 100, 50, 100, 100, 50, 100],
        stroke: "black",
        strokeWidth: 4,
        draggable: true
});
    line.on('dragmove', function(mouseEvent) {
        line.getPoints()[2] = {x:mouseEvent.x, y:mouseEvent.y};
        layer.draw();
});

stage.add(layer);

layer.add(line);
layer.draw();

任务是通过其中一个角(例如右下角)拖动多边形。但实际上结果并不是我所期待的。我的代码有什么问题?或者通过其中一个点移动元素的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

查看此帖子iOS6 pull/drag border on circle

我认为,效果类似于您正在寻找的内容。您可以通过检测单击/触摸位置为任何角上的拖动设置动画。

如果您需要另一个例子,请告诉我。