我正在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]Object或blockObject[i]但这返回语法错误.
我可以为每个值创建一个单维数组,但这对我来说似乎相当混乱.如何在循环中创建对象?
只需使用数组并每次都推送新对象:
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)