我有一个滚动窗格,我可以在其中添加电影剪辑。我正在使用它作为一个在线用户列表。到目前为止,它工作得很好,但现在我遇到了一个问题。我可以使用removechild很容易地删除我想要的电影剪辑,但当我删除它时,删除的剪辑只有一个空白区域。所以我需要知道如何以某种方式刷新滚动窗格,并将下面的剪辑向上移动。我该怎么做呢?
我已经尝试了无效,refreshPane,更新等等。也许我没有按正确的顺序排列它们,但是怎么做呢?
如果答案很复杂,可以提供一个例子吗?我真的不能很好地使用as3来编写一个完整的算法来获得孩子的数量,删除他们,读取他们,等等。
有什么需要帮忙的吗?
发布于 2012-09-26 10:40:43
只是一个变体,但保存了-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-26 10:10:24
我想我比我想象的要好一点。如果其他人遇到这个问题,我找到的解决方案如下:
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是添加的movieclips的高度。
https://stackoverflow.com/questions/12598538
复制