使用KineticJS删除绘制的对象

时间:2012-06-05 04:04:20

标签: javascript html canvas kineticjs

希望这里有一个简单的问题:

假设我使用KineticJS绘制一条线,如下所示:

var redLine = new Kinetic.Line({
      points: [73, 70, 340, 23, 450, 60, 500, 20],
      stroke: "red",
      strokeWidth: 15,
      lineCap: "round",
      lineJoin: "round"
    });

它已添加到已添加到舞台的图层中。

但是现在我需要完全删除这一行,好像它从来没有对某些用户事件作出反应。我该怎么做呢?

4 个答案:

答案 0 :(得分:10)

container.remove()从其父容器中删除,而container.removeChildren()会从此容器中删除所有。他们都没有接受任何参数。

请记得在删除图层后重新绘制图层。

答案 1 :(得分:5)

layer.remove()删除你的图层...要删除单个形状,请使用shape.remove(),我无法在任何地方找到它...但显然它有效...

答案 2 :(得分:0)

我最好的解决方案是使用一个简单的方法:shape.hide(); 这种方法隐藏了形状并将其“从图纸中”移除,你将不再看到它,但我认为形状仍然存在,并不完全确定。

答案 3 :(得分:-5)

假设你有一个如下图层:

var layer = new Kinetic.Layer(....);

从图层中删除redLine

layer.remove(redLine);