循环播放随机电影片段的功能

Loop function to play random movieclip

我正在使用 Adob​​e Animate 创建一个简单的 HTML5 Canvas 动画,其中的星星在背景中随机移动。我有 10 个名为 star1 - star10 的星星,因为我只想让其中的 10 个在特定的地方播放。我一直在尝试创建一个循环函数,从 1-10 中选择一个随机数,然后播放该动画片段。

这是我当前的代码:

setInterval(function(){
    var myNum = Math.round(Math.random() * 10) + 1;
    thisMc = this["star" + myNum];
    thisMc.play();
}, 800);

该函数正在循环并在 1-10 之间选择一个随机数,但我无法让它播放电影片段。当我使用这个 ["star" + myNum];它返回时身份不明,但如果我使用 ["star" + myNum];然后返回 ["star1"]。我不确定如何获取代码来编译实际的影片剪辑名称并播放它。

您必须将上下文保存到 setInterval() 函数外部的另一个对象,并在函数内部使用它。

let ctx = this;
setInterval(function(){
    var myNum = Math.round(Math.random() * 10) + 1;
    thisMc = ctx["star" + myNum];
    thisMc.play();
}, 800);

这应该有效。