删除动画片段并清除内存AS3

时间:2014-03-17 13:42:20

标签: arrays actionscript-3 memory-management

我的另一个问题。 例如,我做了类似的事情。

    var unit:Array = new Array()
    public function add_unit()        
    {
        unit[unit.length] = new unitclass(parameter)
    }

    public function remove_unit(index)
    {
       for(var i:int = index; i< unit.length; i++)
        {
            unit[i] = unit[i+1]
        }
        unit.pop()
    }

使用函数remove_unit后,使用指定的id,阶段将完全清除数组元素吗?如果不是我如何正确清除它?

2 个答案:

答案 0 :(得分:0)

很难理解你的问题......

要将元素添加到数组,请使用unit.push(new [your_object]());

要从数组中删除元素,请使用unit.splice([index], 1);

要向显示对象添加元素(舞台,精灵,影片剪辑等),请使用[DisplayObject].addChild([element]);

要从显示对象(舞台,精灵,影片剪辑等)中删除元素,请使用[DisplayObject].removeChild([element]);

从数组中删除元素不会将其从舞台中删除,您必须使用要从显示列表中删除的对象调用removeChild。

答案 1 :(得分:0)

好的。我不习惯as3,所以我还不知道很多命令。 还是你能告诉我:如果我使用上面这些功能,效果会实现吗?我只想将单元添加到数组中,然后将其从内存中删除。 我只是注意到我的应用程序开始堵塞,我真的不知道为什么会发生这种情况。此操作是否正确清除了内存?我尝试使用拼接和推送而不是开头提到的方法,但这似乎没有帮助。