Actionscript 3 通过代码删除形状
这是一个非常基本的问题,但它仍然让我有点困惑 我有一个对象(导航菜单栏),我想用代码更改它的颜色,所以在Actionscript 3 通过代码删除形状,actionscript-3,shape,Actionscript 3,Shape,这是一个非常基本的问题,但它仍然让我有点困惑 我有一个对象(导航菜单栏),我想用代码更改它的颜色,所以在updateColor函数中,我得到对象的边界(它是包含在movieclip中的图形形状),并用新颜色在它上面重新绘制一个新形状,但我注意到最后一个形状仍然存在于这个重新绘制之后 我尝试使用obj.graphics.clear()在重新绘制之前,但这并没有去除原始形状。是否还有另一个我忽略的命令?除非您在同一图形对象中绘制了要删除的对象,否则清除将不起作用。您需要删除DisplayObject
updateColor
函数中,我得到对象的边界(它是包含在movieclip中的图形形状),并用新颜色在它上面重新绘制一个新形状,但我注意到最后一个形状仍然存在于这个重新绘制之后
我尝试使用
obj.graphics.clear()代码>在重新绘制之前,但这并没有去除原始形状。是否还有另一个我忽略的命令?除非您在同一图形对象中绘制了要删除的对象,否则清除将不起作用。您需要删除DisplayObject
根据您可以执行的子项数量:
obj.removeChildAt(0);
这也会删除您手动放置在舞台上的movieclips/按钮。
如果您有要删除的DisplayObject的引用,只需执行以下操作即可
obj.removeChild(backgroundClip);
请注意,您也可以直接更改DisplayObject的颜色:
import flash.geom.ColorTransform;
...
public var test:MovieClip; //instance on stage
...
var cf:ColorTransform = test.transform.colorTransform;
cf.color = 0xff0000;
test.transform.colorTransform = cf;
将清除此电影剪辑上的子对象,
如果清除过多,则将形状图形放入子唇中,然后清除子唇
while(this.numChildren)
{
this.removeChildAt(0);
}