KinectJS - 无法移除我的形状

时间:2013-05-15 21:03:10

标签: kineticjs

我正在使用KinectJS创建自己的小绘图程序。一切都很顺利 - 直到他必须从我的舞台/层中移除我的形状。

我用过:

        layer.removeChildren();

删除所有内容。这对我的小项目来说有点太多了:-( 我在一层上绘制了多个形状。我需要只针对我的一个形状并将其移除。

这是我在重绘之前“尝试”删除目标形状的方法:

 function drawElement(figureId) {
        figureId = Number(figureId);

        var figureOld = layer.get("#figure" + figureId)[0];

        layer.remove(figureOld);

        //I Get the shape!
        console.log(figureOld);

        var fillColor = "blue";
        var strokeColor = "red";

        var targetedFigure = figuresArray[figureId];

        var userElement = new Kinetic.Shape({
            drawFunc: function (canvas) {
                var context = canvas.getContext();
                context.beginPath()
                $.each(targetedFigure.coords, function (i, item) {
                    context.lineTo(item.x, item.y);
                });
                context.closePath();
                canvas.fillStroke(this);
            },
            fill: fillColor,
            stroke: strokeColor,
            strokeWidth: 1,
            id: "figure" + figureId,
        });

        layer.add(userElement);
        stage.add(layer);
}

感谢您的时间: - )

更新,更改:

layer.remove(figureOld);

if (figureOld) {
   figureOld.remove();
}
  • 谢谢MARK !! :)

1 个答案:

答案 0 :(得分:0)

您可以删除任何特定形状:figureOld.remove();