2
我正在用JavaScript和HTML5画布测试等轴测图。 我在JavaScript 2D数组中存储Tile Map数据。等轴测图中的Z轴
// 0 - Grass
// 1 - Dirt
// ...
var mapData = [
[0, 0, 0, 0, 0],
[0, 0, 1, 0, 0,
...
]
和借鉴
for(var i = 0; i < mapData.length; i++) {
for(var j = 0; j < mapData[i].length; j++) {
var p = iso2screen(i, j, 0); // X, Y, Z
context.drawImage(tileArray[mapData[i][j]], p.x, p.y);
}
}
不过这个功能意味着是所有瓷砖Z轴等于零。
var p = iso2screen(i, j, 0);
也许任何人有想法,以及如何做类似mapData[0][0]
Z轴等于3; mapData[5][5]
Z轴等于5; ?
我有一个想法:编写Grass,Dirt的函数,并将此函数存储到2D Array并绘制,之后再写入mapData[0][0].setZ(3);
。但是为每个tile编写函数是个好主意?
3D地图(3D阵列)有什么问题? – Spektre 2016-04-05 12:41:15