0

うまくいけば、ここで簡単な質問:

KineticJSを使用して次のように線を引いたとします。

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

そして、ステージに追加されたレイヤーに追加されました。

しかし、ユーザーイベントに反応するためにこの行が存在しなかったかのように、この行を完全に削除する必要があります。どうすればこれを行うことができますか?

4

4 に答える 4

10

container.remove()これを親コンテナから削除container.removeChildren()し、すべてのをこのコンテナから削除します。どちらもパラメータを受け入れません。

レイヤーを削除した後、レイヤーを再描画することを忘れないでください。

于 2012-12-16T14:13:25.590 に答える
5

layer.remove()はレイヤーを削除します...単一の形状を削除するには、shape.remove()を使用します。どこにも文書化されていません...しかし、明らかに機能します...

于 2012-11-17T16:29:03.417 に答える
0

私の最善の解決策は、1つの単純なメソッドを使用することでした:shape.hide(); このメソッドは形状を非表示にし、これにより図面から形状が「削除」され、表示されなくなりますが、形状はまだ存在していると思います。完全にはわかりません。

于 2013-06-26T23:27:15.113 に答える
-5

次のようなレイヤーがあるとします。

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

redLineレイヤーからあなたを削除するには、次のように記述します。

layer.remove(redLine);
于 2012-06-05T04:14:54.490 に答える