2011-09-12 46 views

回答

2

如果你只是想而不删除形状(图形)删除影片剪辑在主影片剪辑(雷达),你可以这样做:

for (var i : int = radar.numChildren-1 ; i >= 0 ; i--) 
{ 
    if(radar.getChildAt(i) is MovieClip) 
    { 
     radar.removeChildAt(i); 
    } 
} 
0
function removeChildrenOf(mc:MovieClip):void{ 
    if(my_mc.numChildren!=0){ 
     var k:int = mc.numChildren; 
     while(k --) 
     { 
      mc.removeChildAt(k); 
     } 
    } 
} 

reference

+0

不,我没有得到你。 – Benny

1

但这会导致的movieclip图形本身被删除。

您正在移除它的全部子项DisplayObjects。您无法删除所有子对象,也不会丢失“图形”。

0

我写了这个类而回。它创建一个MovieClip内容的位图快照。删除所有的孩子,然后将该位图添加到容器。这个课程/课程的初衷是为了给你一个平滑渲染的图像进行重新缩放。在Flash中,如果MovieClip中有图像并缩小它,则Bitmap可能会失去清晰度。使用BitmapData类的“平滑”属性(自动设置)将保留完整性。

您只需在图书馆实例中扩展该类,并使用适合您需要的类。

框架(进行中) - https://github.com/charlesclements/as3-tools

类目录参考 - https://github.com/charlesclements/as3-tools/tree/master/net/charlesclements/gadgets/display

SimpleAutoSmoothMovieClip.as - 这是最容易使用的一个。该类假定所有要捕获的内容都在(x:0,y:0)注册点内。从那里宽度自动计算。

AutoSmoothMovieClip.as - 该类预计那里是一个孩子的MovieClip一个实例名称为“克”包含所有内容,采取的快照。这个“gr”MovieClip将被动态移除。