0

我想知道如何访问var randomnumber里面的cubesmixed-Array 这是代码:

var cubesmixed = [paper.rect(randomnumber, randomnumber, 0, 0), 
                  paper.rect(randomnumber, randomnumber, 0, 0), 
                  ... going on till over 100]; 
var randomnumber;
for(var i = 0; i < 143; i++) {
var randomnumber=Math.floor(Math.random()*2000);
    cubesmixed[i].animate({ width: 25, height: 25 }, 500, "bounce");
    console.log(i);
}

在该数组中,随机数的值为 0。我该怎么做?

干杯

4

1 回答 1

1

您声明randomnumber了两次,两次都是在声明中使用它之后cubesmixed。所以目前每次你实际使用randomnumber它都会undefined。当前,您在循环中设置randomnumber为等于随机生成的数字for,但实际上并未在循环中使用它。

如果您的实际目标是创建一个包含 143 个项目的数组,每个项目都有不同的随机坐标,那么您可以这样做:

var cubesmixed = []; 
var cube;
for(var i = 0; i < 143; i++) {
  cube = paper.rect(Math.floor(Math.random()*2000), Math.floor(Math.random()*2000), 0, 0);
  cube.animate({ width: 25, height: 25 }, 500, "bounce");
  cubesmixed.push(cube);
}

另一方面,如果您只想让所有项目彼此具有相同的坐标,请移动当前行:

var randomnumber=Math.floor(Math.random()*2000);

...从循环内部到声明之前cubesmixed

于 2013-10-13T20:52:57.543 回答