JavaScript在for循环中创建对象

Ory*_*nuh 0 javascript canvas

我正在canvas用JavaScript 制作游戏,但在保存数据方面遇到了一些麻烦.我正在使用for循环在画布上放置图像,我想保存对象中每个图像的信息.对于每个图像一个对象.

function CreateBlocks(){
    for(var i = 0; i <= blocks; i++){
        var img   = new Image();
        img.src   = "/images/Block.png";

        blockObject = {
            x:    x, 
            y:    y, 
            points:  10
         }
         ctx.drawImage(img,x,y);

         x += 100;
         y += 100;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在这显然会覆盖blockObject每次循环.我尝试添加循环的价值,如对象的名称block[i]ObjectblockObject[i]但这返回语法错误.

我可以为每个值创建一个单维数组,但这对我来说似乎相当混乱.如何在循环中创建对象?

Ami*_*ich 6

只需使用数组并每次都推送新对象:

function CreateBlocks(){
    var arr = [];

    for(var i = 0; i <= blocks; i++){
        var img   = new Image();
        img.src   = "/images/Block.png";

        arr.push({
            x:    x, 
            y:    y, 
            points:  10
         });

         ctx.drawImage(img,x,y);

         x += 100;
         y += 100;
    }
}
Run Code Online (Sandbox Code Playgroud)