如何创建每次都会产生新变量的for循环

时间:2019-03-30 04:58:53

标签: javascript for-loop variables indexing var

我正在尝试制作一个游戏,它在随机存在的x个位置以3个方块生成,每个方块都有自己的x,y,w,h,我想知道如何使它成为block0 var,block1 var和for循环中的block2 var,这就是我得到的:

function block() {
  this.x = x;
  this.y = y;
  this.w = w;
  this.h = h;

  ctx.fillRect(this.x, this.y, this.w, this.h);
}
for (let i = 0; i < 3; i++) {
  var block[i] = new block(Math.floor(Math.random() * 6) * 100,0,100,100);
  block[i]();
}

1 个答案:

答案 0 :(得分:1)

您可以使用数组保存块。另外,我已将相关参数添加到block()函数中。

function block(x, y, w, h)
{
    this.x = x;
    this.y = y;
    this.w = w;
    this.h = h;

    ctx.fillRect(this.x, this.y, this.w, this.h);
}

let blocks = [];

for (let i = 0; i < 3; i++)
{
    blocks[i] = new block(Math.floor(Math.random() * 6) * 100, 0, 100, 100);
    // or blocks.push(new block(Math.floor(Math.random() * 6) * 100, 0, 100, 100));
}

然后,您以后可以分别访问三个块,分别为blocks[0]blocks[1]blocks[2]