1

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

我已经尝试过无效、刷新窗格、更新等。也许我没有按正确的顺序或其他东西,但是这怎么能做到呢?

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

请问有什么帮助吗?

4

2 回答 2

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;
}
于 2012-09-26T10:40:43.347 回答
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 是添加的影片剪辑的高度。

于 2012-09-26T10:10:23.563 回答