了解Canvas& KineticJS层清除

时间:2012-03-22 14:28:40

标签: jquery html5 kineticjs

我想知道是否有人可以了解Canvas和KineticJS中管理图层的方式。我正在努力理解为什么当我清除();一层,然后使用draw();再次在该图层上运行,它会返回我最初添加到该图层的形状等。

例如:

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

我假设清除一个图层会完全删除它,为了重绘它,我必须设置新的形状并构建一个新图层。

如果有人能解释我,我会非常感激。

干杯,凯乌斯

3 个答案:

答案 0 :(得分:10)

必须说实话,this documentation不被视为超级详细,但正如您在此处所见:http://jsfiddle.net/vPGbz/2/ clear只会删除图层的绘制表示形式舞台对象。您正在寻找的是remove方法,用于从图层中删除某些元素。

像:

circleLayer.remove(circle);

答案 1 :(得分:7)

目前,您可以layer.children = [];但我不知道这是否会产生任何不应该产生的副作用!

编辑:不要这样做。相反,请执行以下操作:在layer.removeChildren() Container下的http://kineticjs.com/api-docs.php找到{{1}}。

答案 2 :(得分:0)

我正在使用Kinetics 4.3.1。 我正在制作两个图层,因此我可以使用复选框

添加和删除其中一个图层

您可以查看此链接:http://jsfiddle.net/lauraliparulo/uw25p/

这样的事情:

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

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

    });

: - )