Actionscript,将随机电影剪辑加载到场景中

Posted

技术标签:

【中文标题】Actionscript,将随机电影剪辑加载到场景中【英文标题】:Actionscript, load random Movie Clip into Scene 【发布时间】:2018-03-13 09:01:48 【问题描述】:

我正在制作一个简单的闪光拍摄画廊动画,屏幕上有大约 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】:

好的,让我们开始吧。

// 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 对象,它可能是 (parent as MovieClip).playNext(); 我不能说清楚,因为我不知道你电影的结构。您可能需要阅读以下内容才能理解:http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e3e.html

【讨论】:

无法让它工作...可能是我的主要场景设计和标签,但感谢您的帮助...我现在已经整理好了...

以上是关于Actionscript,将随机电影剪辑加载到场景中的主要内容,如果未能解决你的问题,请参考以下文章

Unity中使用代码将预制加载到场景

如何在加载到场景之前将 OBJ/FBX 转换为 GLTF(使用 Threejs)

Actionscript 2 - 如何检查电影剪辑是不是存在于舞台的特定位置?

记录应仅加载到场景中的目标

动作脚本 3. 将影片剪辑分配给其他影片剪辑

使用 Actionscript 2 在背景层加载视频剪辑