我正在通过Uni的突破游戏学习jQuery。我在游戏中出现多块砖块时遇到了麻烦。这不是家庭作业,只是我领先于课堂练习。
我正在尝试使用以下循环来显示块。
for (var row = 0; row < 5; row++)
{
for (var col = 0; col < 7; col++)
{
$("#game").append('<div class="brick" id="brick' + num + '"></div>');
var brick = {x: col * 140, y: row * 60, id:"#brick" + num, alive:true};
bricks.push(brick);
num++;
}
}
JSFiddle完整代码。
答案 0 :(得分:1)
你需要在页面上给出砖块的x和y位置,现在它们在DOM中,但它们都在同一个地方。尝试:
num = (row * 7) + col;
$brick = $('<div class="brick" id="brick' + num + '"></div>');
$brick.css({left: col * 140, right: row * 60});
$("#game").append($brick);
注意我添加了代码来增加num
值。
你需要确保你也有这个css:
.brick{
position: absolute;
}
此外,您需要在开始添加数组之前定义数组,将其放在第一个循环之前:
bricks = [];
答案 1 :(得分:0)
在数组上调用.push()
函数。在代码中,砖数组不存在。声明一个砖块数组,代码应该将新砖块推到阵列上。