从Paper.js组中删除项目

时间:2015-11-09 22:26:19

标签: javascript grouping paperjs

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);

1 个答案:

答案 0 :(得分:4)

你的方法

item.remove();
paper.project.activeLayer.addChild(item);

应该怎么做。除非你调用paper.view.update(),否则它不会在两次调用之间重新渲染画布,因此进行额外函数调用的成本很低。