11

CanvasとKineticJSでレイヤーを管理する方法に誰かが光を当てることができるだろうかと思いました。clear();の理由を理解するのに苦労しています。レイヤー、次にdraw();を使用します。そのレイヤーで再び機能すると、元々そのレイヤーに追加したシェイプなどが戻ってきます。

例えば:

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

レイヤーをクリアすると完全に削除されると思いました。レイヤーを再描画するには、新しいシェイプを設定して新しいレイヤーを作成する必要があります。

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

乾杯、カイウス

4

3 に答える 3

10

このドキュメントは超冗長とは見なされないことを正直に言う必要がありますが、ここで確認できるように、http: //jsfiddle.net/vPGbz/2/ clearはStageオブジェクトからレイヤーの描画された表現のみを削除します。あなたが探しているのはremove、レイヤーから特定の要素を削除するために使用される方法です。

好き:

circleLayer.remove(circle);
于 2012-03-22T15:09:44.200 に答える
7

今のところ、あなたはそうすることができますlayer.children = [];が、これがすべきでない副作用があるかどうかはわかりません!

編集:これをしないでください。代わりに、これを実行してください:layer.removeChildren()http : //kineticjs.com/api-docs.phpの下にありContainerます。

于 2012-04-29T14:47:51.533 に答える
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();
        }

    });

:-)

于 2013-02-27T17:49:09.487 に答える