【发布时间】:2018-03-15 16:45:16
【问题描述】:
我有一个简单的 js 程序。
它为游戏创建基于图块的地图。
整个画布都是绿色的,但它不应该发生。
画布上的网格应根据其单元格是0 还是1 进行着色
var tileW = 40,
tileH = 40;
var mapW = 10,
mapH = 10;
var gameMap = [
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 1, 1, 0, 1, 1, 1, 1, 0],
[0, 1, 0, 0, 0, 1, 0, 0, 0, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 1, 0, 1, 0, 0, 0, 1, 1, 0],
[0, 1, 0, 1, 0, 0, 0, 1, 1, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 1, 0, 0, 0, 0, 0, 1, 0, 0],
[0, 1, 1, 1, 0, 1, 1, 1, 1, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
];
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
function draw_map() {
for (var x = 0; x < mapW; x++) {
for (var y = 0; y < mapH; y++) {
switch (gameMap[y][x]) {
case 0:
ctx.fillStyle = "#999787";
case 1:
ctx.fillStyle = "#ccffcc";
}
ctx.fillRect(x * tileW, y * tileH, tileW, tileH); //->>?? this part is creating problem
}
}
}
draw_map();
<canvas id="canvas" width="400" height="400" style="border:1px solid black;">
【问题讨论】: