0

Array在 Animate 上使用 ActionScript 3,我正在尝试使用和 for循环从舞台上删除一堆项目 。我实际上是从这个站点下载了这段代码,但它似乎对我不起作用。它只会删除一个项目,不会删除其他项目。当我重绘舞台时,它根本不会删除任何东西。我有另一个功能按钮将重新启动(重绘)游戏,我正在使用gotoAndPlay()重绘。仅供参考,“正方形”是精灵,“myTFs”是“配对”在一起成为按钮的文本字段。我究竟做错了什么?

function mainFunc(): void {
    var btnsArray: Array = new Array("square", "myTF3", "square2", "myTF2", "square4", "myTF4");
    for (var ii = 0; ii < btnsArray.length; ii++) {
        removeChildAt(btnsArray[ii]);
        btnsArray.length = 0;
    }
}
4

1 回答 1

1

如果您有要批量操作的DisplayObject名称数组(例如从显示列表或其他内容中删除),您可以执行以下操作:

var A:Array = ["square", "myTF3", "square2", "myTF2", "square4", "myTF4"];

// Iterate over items of the Array.
for each (var aName:String in A)
{
    // Obtain a reference to the object by its instance name.
    var aChild:DisplayObject = getChildByName(aName);
    
    // Check if it is a valid instance before removing to avoid errors.
    if (aChild)
    {
        removeChild(aChild);
    }
}
于 2020-10-21T02:42:40.683 回答