如何删除动画片段的所有子节点?制作动画片段删除它的所有子节点
我试图
while(radar.numChildren > 0){
radar.removeChildAt(0);
}
,但是这将导致影片剪辑图形本身被删除。
如何删除动画片段的所有子节点?制作动画片段删除它的所有子节点
我试图
while(radar.numChildren > 0){
radar.removeChildAt(0);
}
,但是这将导致影片剪辑图形本身被删除。
如果你只是想而不删除形状(图形)删除影片剪辑在主影片剪辑(雷达),你可以这样做:
for (var i : int = radar.numChildren-1 ; i >= 0 ; i--)
{
if(radar.getChildAt(i) is MovieClip)
{
radar.removeChildAt(i);
}
}
function removeChildrenOf(mc:MovieClip):void{
if(my_mc.numChildren!=0){
var k:int = mc.numChildren;
while(k --)
{
mc.removeChildAt(k);
}
}
}
但这会导致的movieclip图形本身被删除。
您正在移除它的全部子项DisplayObjects
。您无法删除所有子对象,也不会丢失“图形”。
我写了这个类而回。它创建一个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将被动态移除。
不,我没有得到你。 – Benny