У меня есть холст, на котором нарисовано несколько прямоугольников, чтобы создать сетку. Я хочу раскрасить каждый прямоугольник один за другим в сетке, пока каждый из них не будет окрашен в черный цвет, а затем снова выбрать несколько из них, чтобы покрасить их в белый цвет таким же образом один за другим. Я пробовал несколько методов, используя цикл for и setTimeout, но это не сработало. Я недавно начал javascript, поэтому мне нужна помощь, чтобы сделать это.
Этот код включает в себя только создание сетки, потому что эта часть не работала:
var canvas;
var ctx;
canvas = document.getElementById('canvas');
ctx = canvas.getContext('2d');
tileW = 20;
tileH = 20;
tileRowCount = 25;
tileColCount = 40;
var tile = [];
for (c = 0; c < tileColCount; c++) {
tile[c] = [];
for (r = 0; r < tileRowCount; r++){
tile[c][r] = {
x: c * (tileW + 3),
y: r * (tileH + 3),
state: 'e'
}; //state e for empty
}
}
for (c = 0; c < tileColCount; c++)
for (r = 0; r < tileRowCount; r++) {
ctx.beginPath();
ctx.fillStyle = '#AAAAAA';
ctx.rect(tile[c][r].x, tile[c][r].y, tileW, tileH);
ctx.closePath();
ctx.fill();
}
}
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<canvas id="canvas" width='1000' height='600'></canvas>
<script type="text/javascript" src='data.js'></script>
</body>
</html>
{
после этой строкиfor (c = 0; c < tileColCount; c++)
- person Dan Mullin   schedule 26.08.2020