Paper.js有一种明确的方法可以使用Group将项目添加到addChild(item)
。但是,似乎没有明确的方法从组中删除项目而不从视图中删除该项目。
组具有children
属性,但根据文档,它不应该被突变:
不应使用数组函数直接修改children数组。要从子列表中删除单个项目,请使用item.remove()从子列表中删除所有项目,使用item.removeChildren()。要将项目添加到子项列表,请使用item.addChild(item)或item.insertChild(index,item)。
因此每个项目都有一个remove()
方法,但这不仅会将其从群组中删除,还会从显示中删除。
如何从组中删除项目,仅将其与组分离,而不是从显示中删除?有没有比这更清洁的方法呢?
item.remove();
paper.project.activeLayer.addChild(item);
答案 0 :(得分:4)
你的方法
item.remove();
paper.project.activeLayer.addChild(item);
应该怎么做。除非你调用paper.view.update(),否则它不会在两次调用之间重新渲染画布,因此进行额外函数调用的成本很低。