我在 ActionScript 2 中有一些代码,类似于以下代码段(Item
是MovieClip):
_root.createEmptyMovieClip("Temp",_root.getNextHighestDepth());
_root.Item.swapDepths(_root.Temp);
_root.Temp.removeMovieClip(); // This doesn't work !
我认为问题很清楚。交换深度后我无法移除Temp
(否则可以正常工作)。
我也尝试了以下(但无济于事):
depth = Item.getDepth();
_root.createEmptyMovieClip("Temp",_root.getNextHighestDepth());
_root.Item.swapDepths(_root.Temp);
_root.getInstanceAtDepth(depth).removeMovieClip(); // Doesn't work !
有关如何摆脱Temp
的任何想法?
答案 0 :(得分:1)
我找出了Temp
MovieClip不朽背后隐藏的原因。
与其交换的MovieClip Item
是在时间轴中手动创建的。因此,在交换后,Temp
位于zone of depths范围内,Flash不支持动态删除符号。
如果我在Temp
和Item1 = Item.duplicateMovieClip("Item1", someDepth);
之间交换了深度,那么removeClip()
就可以了!
答案 1 :(得分:0)
请尝试以下代码:
_root.createEmptyMovieClip("Temp",_root.getNextHighestDepth());
_root.Item.swapDepths(_root.Temp);
removeMovieClip(_root.Temp);
如果使用ActionScript代码创建动态影片剪辑。然后你必须使用removeMovieClip(XXXXXX);
函数而不是XXXXXX.removeMoveiClip();
注意: - XXXXXX是MoveiClip的实例引用,它是使用ActionScript 2.0代码创建的运行时。
原因:“removeMovieClip()仅适用于动态创建的动画片段”