确定是现在正在播放的MovieClip

tak*_*shi 4 flash actionscript-3

我有movieClip(在as3中),我想知道这个movieClip现在正在播放

我怎样才能做到这一点?

Chr*_*ris 9

虽然很疯狂,但没有内置的方法可以做到这一点(尽管应该如此).两个选项都有一个在调用play/stop时交换的标志.

var mc_playing:Boolean = false;

mc_playing = true;
mc.play();



mc_playing = false;
mc.stop();
Run Code Online (Sandbox Code Playgroud)

或者您可以扩展MovieClip类以创建自己的播放属性.

class SuperMovieClip extends MovieClip {
    private var _playing:Boolean = false;

    public function SuperMovieClip() {

    }

    override public function play():void {
        _playing = true;
        super.play();
    }

    override public function stop():void {
        _playing = false;
        super.stop();
    }

    public get function playing():Boolean {
        return _playing;
    }

}
Run Code Online (Sandbox Code Playgroud)

然后只需将mc链接到SuperMovieClip而不是MovieClip

  • 第二种方式非常"干净".设置完成后,您需要做的就是`if(mc.playing == true)` (2认同)