在EaselJS中删除具有特定名称形式阶段的形状

时间:2016-04-19 16:58:12

标签: createjs easeljs

如果我在循环中将形状添加到舞台中,请执行以下操作:

fooShape = new createjs.Shape().set({name:"newShapes"});

使用“newShapes”名称删除所有形状的函数最简单的方法是什么?

我尝试了stage.removeChild(fooShape[i]);之类的内容,但我会“未定义”。

1 个答案:

答案 0 :(得分:2)

removeChild method仅显示对象作为参数。要删除具有特定名称的所有子项,您必须遍历子项,并删除符合条件的任何子项:

for (var i=container.numChildren-1; i>=0; i--) {
    var child = container.getChildAt(i)
    if (child.name == "newShapes") {
        container.removeChild(child);
    }
}

请注意,此示例以相反方式循环遍历子项,因为删除项目将导致索引在循环期间发生更改。

希望有所帮助。