我有一个包含很多符号的图层,我想隐藏并显示整个图层的所有元素.
隐藏我做它myLayer.remove();但是要显示它没有方法......
在他们的教程中他们说project.activeLayer.addChild(myObject);但它似乎不适用于图层.(http://paperjs.org/tutorials/project-items/project-hierarchy/)
如果有人可以帮助我或告诉我是否需要以不同的方式进行操作?
非常感谢你.
当您调用Layer.remove()时,将从project.layers数组中删除该Layer实例.要重新显示已删除的图层(以及其中的任何对象),请将其推回到project.layers.
var blueSquare = Path.Rectangle(new Point(0, 0), new Size (50, 50));
blueSquare.fillColor = 'blue';
var newLayer = new Layer();
newLayer.activate(); // so that redCircle will be added to newLayer
var redCircle = Path.Circle(new Point(100, 100), 50);
redCircle.fillColor = 'red';
newLayer.remove(); // this prevents the redCircle from being drawn
project.layers.push(newLayer); // now the redCircle is back
Run Code Online (Sandbox Code Playgroud)
或者,newLayer.remove();您可以使用newLayer.visible = false;或newLayer.opacity = 0;不使用newLayer实际上从project.layers数组中删除,尽管使用这些方法选择项目仍然显示线框,即使无法看到实际项目.