【发布时间】:2015-11-14 21:18:53
【问题描述】:
我正在学习 js 和画布。我想用小图块(例如 20 像素 x 20 像素)填充地图 到目前为止,我已经用字符填充了它,但图块会更好。我必须获得一组小图像还是有绘制瓷砖的方法? 我想我可以在主画布内创建很多 20x20 的画布,但我想这远非最佳。
这是我到目前为止所得到的。
var mapArray = [
[0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
];
function popMap() {
var canvas = document.getElementById('playground');
var ctx = canvas.getContext('2d');
ctx.font="18px Georgia";
ctx.fillStyle="white";
for (i=0;i<mapArray.length;i++) {
for (j=0;j<mapArray.length;j++) {
ctx.fillText(mapArray[i][j], i*20, j*20);
}
}
}
popMap();
顺便说一句,最终,我想制作一个简单的 rpg 游戏(一个用按键控制的角色在地图上移动),所以请就地图上的最佳方法提出建议。谢谢。
【问题讨论】:
标签: javascript canvas tiles