2012-03-22 9 views
11

CanvasとKineticJSでレイヤーを管理する方法について誰かが気をつけたのかと疑問に思った。私はなぜ私がクリアするか理解していません。レイヤーを作成し、draw()を使用します。そのレイヤーに再び機能すると、最初はそのレイヤーに追加したシェイプなどが戻ってきます。例えばキャンバスとKineticJSレイヤーのクリアの理解

http://jsfiddle.net/vPGbz/1/

私は層それを完全に削除し、それを再描画するために、私は新しい形状を設定して、新しいレイヤーを作成しなければならないのクリアを想定。

誰もがこれについて説明できれば、私はとても感謝しています。

乾杯、キーズ

+3

混乱して申し訳ありません!あなたが.removeAll関数を追加することができたら、私はKineticJSのドキュメント –

+0

@EricRowellを強化していきます。 –

+0

@EricRowell nevermind、found removeChildren() –

答えて

10

一つは、あなたがここに見ることができるようthis documentationはユーバー-冗長と考えられるが、されていないことを正直に言うとありますhttp://jsfiddle.net/vPGbz/2/clearのみStageオブジェクトからの層の描かれた表現を削除します。あなたが探しているのは、レイヤーから特定の要素を削除するために使用されるremoveメソッドです。

同様:今のところ

circleLayer.remove(circle); 
+0

これは役に立ちます。ありがとうございます。ドキュメントはかなり曖昧ですが、私はAPI Docsを読むのによく慣れていますが、これを解読するのは難しいです。 –

+0

@CaiusEugeneもっと存在しないようです.... – m90

+0

@ m90ドキュメントは残念です。唯一有益なのはチュートリアルのセクションですが、あなたの質問に答えられない場合は、KineticJSの – puk

7

、あなたは layer.children = [];を行うことができますが、これはそれがないことを任意の副作用を持っているかどうかはわかりません!

編集:しないでください。代わりにlayer.removeChildren()http://kineticjs.com/api-docs.phpの下に見つけてContainerの下に見つけてください。

0

私はKinetics 4.3.1を使用しています。 あなたは、このリンクをチェックアウトすることができます私は2つの層を作っているので、私は、チェックボックスでそれらのいずれかを追加および削除することができ、

:このようなhttp://jsfiddle.net/lauraliparulo/uw25p/

何か:

checkBoxItem.addEventListener('click', function() { 
     if (this.checked) { 
      load(); 
      stage.add(layer2); 
     } 

     else if (!this.checked) { 
      layer2.clear(); 
     } 

    }); 

を: - )

関連する問題