我的另一个问题。 例如,我做了类似的事情。
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,阶段将完全清除数组元素吗?如果不是我如何正确清除它?
答案 0 :(得分:0)
很难理解你的问题......
要将元素添加到数组,请使用unit.push(new [your_object]());
要从数组中删除元素,请使用unit.splice([index], 1);
要向显示对象添加元素(舞台,精灵,影片剪辑等),请使用[DisplayObject].addChild([element]);
要从显示对象(舞台,精灵,影片剪辑等)中删除元素,请使用[DisplayObject].removeChild([element]);
从数组中删除元素不会将其从舞台中删除,您必须使用要从显示列表中删除的对象调用removeChild。
答案 1 :(得分:0)
好的。我不习惯as3,所以我还不知道很多命令。 还是你能告诉我:如果我使用上面这些功能,效果会实现吗?我只想将单元添加到数组中,然后将其从内存中删除。 我只是注意到我的应用程序开始堵塞,我真的不知道为什么会发生这种情况。此操作是否正确清除了内存?我尝试使用拼接和推送而不是开头提到的方法,但这似乎没有帮助。