0

我有一个 Flash 电影,里面有两个嵌入的 FLV 视频。我想做的是当页面加载时,电影通过两个视频剪辑播放......然后当它到达第二个视频的结尾时,它会切换并反向播放,直到第二个剪辑的开头,然后播放到再次结束——本质上是时间线后半部分的“乒乓”循环。

我查看了一些不同的解决方案,但它们都用于按钮并且看起来太复杂了。我希望我想做的事情非常简单,并且只需要几行代码。

这是我目前正在使用的,但它不起作用(自从我使用 AS 已经很长时间了,所以我确定我错过了一些明显的东西)。第 171 帧是第二个剪辑的开始位置,第 230 帧是电影结束的位置。

function mcPlay(_root, 171) {
    if (f == 230) {
        f = _root._totalframes;
    }
    _root.onEnterFrame = function() {
        var cf:Number = this._currentframe;
        if (cf == f) {
            delete this.onEnterFrame;
        } else if (cf<f) {
            this.nextFrame();
        } else {
            this.prevFrame();
        }
    };
}
4

1 回答 1

0

下面是您需要的代码,一个重要的注意事项是:将代码放在 1 帧影片剪辑中,而不是放在主视频时间轴上:

var direction:String = "forward";

_root.onEnterFrame = function()
{
    if (direction == "forward")
    {
        if (_root._currentframe == _root._totalframes)
        {
            trace("switch to back")
            _root.stop()
            direction = "back";
        }
    }
    else if (direction == "back")
    {
        if (_root._currentframe == 171)
        {
            trace("switch to forward")
            direction = "forward";
            _root.play();
        }
        else
            _root.prevFrame();
    }
}
于 2013-07-30T10:06:36.940 回答