从AS2 SWF中的阶段中删除FLV seekBar组件的问题

时间:2011-02-07 14:56:44

标签: flash actionscript-2 flvplayback seekbar

我有一个AS2 swf,可以将FLV视频加载到FLVPlayback组件中并附加一个seekBar组件。当视频停止时,我从屏幕上卸载搜索栏并设置FLVPlayback.seekBar = null。当要播放另一个视频时,我通过将seekBar组件附加到舞台并分配FLVPlayback.seekBar = newSeekBarInstance来再次设置搜索栏。

这是我的代码 -

(my_video = FLVPlayback组件)

var theSeekBar = _root.attachMovie("SeekBar", "vidSeekBar", this.getNextHighestDepth());
_root.my_video.seekBar = theSeekBar;

视频停止时 -

_root.my_video.seekBar = null;
_root.vidSeekBar.handle_mc.unloadMovie();
_root.vidSeekBar.unloadMovie();
_root.vidSeekBar.removeMovieClip();

我注意到的是,有时搜索栏会从屏幕上删除,有时它不是吗?我似乎无法注意到这里有任何模式。有人有过类似的问题吗?我需要强制垃圾收集吗?

1 个答案:

答案 0 :(得分:0)

unloadMovie()仅适用于已加载loadMovie()的剪辑。它不会对其他阶段实例产生任何影响。

因此,如果您使用attachMovie()removeMovieClip()在舞台上创建了实例,并且将seekBar变量设置为null应该足以让它被垃圾收集,除非您有更多的引用(也许某些事件听众?)在其他地方。

我同意@duncmc:您应该考虑隐藏搜索栏而不是一遍又一遍地创建和删除它。