使用html5 javascript随机化帧,无重复

使用html5 javascript随机化帧,无重复,javascript,html5-canvas,Javascript,Html5 Canvas,超级无敌问题。我有下面的代码来自下面的as3项目,其中帧编号是随机的,然后单击下一个精灵将移动到下一个随机帧。我很难弄清楚我还需要做什么才能将它转换成javascript。有人能帮我解决问题或给我指出正确的方向吗?蒂亚 var sortedNumbers:Array = []; for(var i:int = 1; i < 21; i++) { sortedNumbers.push(i); } var unsortedNumbers:Array = sortedNumbers.s

超级无敌问题。我有下面的代码来自下面的as3项目,其中帧编号是随机的,然后单击下一个精灵将移动到下一个随机帧。我很难弄清楚我还需要做什么才能将它转换成javascript。有人能帮我解决问题或给我指出正确的方向吗?蒂亚

var sortedNumbers:Array = [];
for(var i:int = 1; i < 21; i++)
{
    sortedNumbers.push(i);
 }
var unsortedNumbers:Array = sortedNumbers.slice();

while(sortedNumbers.join() == unsortedNumbers.join())
{
    unsortedNumbers.sort(function (a:int, b:int):int { return Math.random() > .5 ? -1 : 1; });
}

this.start.addEventListener("click", f_nextRE.bind(this));

function f_nextRE() {
        if(index == 20) {
    gotoAndStop (22);
    }
    else {
    gotoAndStop (unsortedNumbers [index] + 1);
    index +=1;  
    }
}

所以我花了几天的时间,但我发现我的答案是多个来源的组合,很多都在这个网站上。。。在这里发布它以帮助其他人

//create array
var shuffledFrames = [];
//fill array
for (var i = 1; i <= 35; i++) {
   shuffledFrames.push(i);
}
//shuffle array 
function shuffle(a) {
    var j, x, i;
    for (i = a.length - 1; i > 0; i--) {
        j = Math.floor(Math.random() * (i + 1));
        x = a[i];
        a[i] = a[j];
        a[j] = x;
   }
}
//run shuffle function
shuffle(shuffledFrames);
//function to call next random frame then repeat when reaching the end. 
function f_next()
{
    if (shown == 1){
        if (nextF == 35) {
            nextF = 0;
            }
        else {
        nextF += 1;
        }
    this.gotoAndStop (shuffledFrames [nextF]);
    }
}

这似乎不是有效的javascript代码是。。。这是动作脚本3。我对javascript非常陌生,正在寻求帮助。转换这个。或者指向正确的方向,在那里我可以学习如何随机化一串数字,然后从中抽取,以随机顺序播放HTML5画布上的帧。