Actionscript,将随机Movie Clip加载到Scene中

时间:2017-10-02 09:35:51

标签: actionscript-3 flash actionscript

我正在制作一个简单的闪光拍摄画廊动画,屏幕上有大约5个目标,但我在动作剧本中没用。

我有一个阵列中的主场景和5个目标影片剪辑。我想要... - >开始动画 - >加载随机剪辑 - >播放随机剪辑直到结束 - >生成新的随机剪辑 - >重复延迟偏移....

到目前为止,我有以下内容:

function getRandomLabel():String {
var labels:Array = new Array("Tar1", "Tar2", "Tar3", "Tar4", "Tar5");

var index:Number = Math.floor(Math.random() * labels.length);
return labels[index];
}
this.gotoAndStop(getRandomLabel());
}

这是有效的......但我想补充延迟而不重复......

1 个答案:

答案 0 :(得分:1)

好的,我们来做吧。

// If you need to avoid playing the same movie two times.
var lastLabel:*;

// The list of labels.
var Labels:Array = ["Tar1", "Tar2", "Tar3", "Tar4", "Tar5"];

function playRandom():*
{
    do
    {
        // Get a random index.
        var anIndex:int = Math.random() * Labels.length;
    }
    while (Labels[anIndex] == currentLabel);

    // Keep the current label in the variable.
    currentLabel = Labels[anIndex];
    gotoAndStop(currentlabel);
}

function playNext():void
{
    // 1000 milliseconds = 1 second delay.
    setInterval(playRandom, 1000);
}

然后。在每个影片剪辑的末尾,您需要正确调用 playNext 方法。如果这些电影在同一时间线上,如上面的代码,只需调用 playNext(); 如果它们是单独的 MovieClip 对象,则可能是(父级)作为MovieClip).playNext(); 我无法说出因为我不知道你电影的结构。您可能需要阅读以下内容才能理解:http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e3e.html