使用html5 javascript随机化帧,无重复
超级无敌问题。我有下面的代码来自下面的as3项目,其中帧编号是随机的,然后单击下一个精灵将移动到下一个随机帧。我很难弄清楚我还需要做什么才能将它转换成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
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画布上的帧。