Flash AS3删除剪辑,重新排序其他项目

时间:2012-09-26 09:25:36

标签: actionscript-3 flash

我有一个滚动窗格,我将动画片段添加到其中。我正在使用它作为在线用户列表。到目前为止它运作良好,但现在我遇到了一个问题。我可以使用removechild轻松删除我想要的动画片段,但当我删除它时,删除的片段只有一个空白区域。所以我需要知道如何以某种方式刷新滚动窗格并移动剪辑下方的剪辑。我怎样才能做到这一点?

我已经尝试过invalidate,refreshPane,update等。也许我没有按照正确的顺序或者其他东西,但是如何做到这一点?

如果答案很复杂,可以提供一个例子吗?我真的不够好as3还没有编写整个算法来获得孩子的数量,删除它们,读取它们等等。

请帮忙吗?

2 个答案:

答案 0 :(得分:1)

只是一个变体,但保存-1,只需重新排列,例如:

lstOnline.removeChild(lstOnline.getChildByName("NAMEHERE"));

var numleft:Number = lstOnline.numChildren;
for(var i = 0; i < numleft - 1; i++) {
    lstOnline.getChildAt(i).y = i*60;
}

答案 1 :(得分:0)

猜猜我比我想象的要好一些。如果其他人遇到这个问题,我找到的解决方案如下:

var numleft:Number = lstOnline.numChildren;
    lstOnline.removeChild(lstOnline.getChildByName("NAMEHERE"));
    for(var i = 0; i < numleft - 1; i++) {
        lstOnline.getChildAt(i).y = i*60;
    }

lstOnline是ScrollPane的名称,在我的情况下,60是添加的动画片段的高度。