我正在使用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();
}
答案 0 :(得分:0)
您可以删除任何特定形状:figureOld.remove();