我想知道是否有人可以了解Canvas和KineticJS中管理图层的方式。我正在努力理解为什么当我清除();一层,然后使用draw();再次在该图层上运行,它会返回我最初添加到该图层的形状等。
例如:
我假设清除一个图层会完全删除它,为了重绘它,我必须设置新的形状并构建一个新图层。
如果有人能解释我,我会非常感激。
干杯,凯乌斯
答案 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();
}
});
: - )