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