자바 스크립트와 HTML5 캔버스의 아이소 메트릭 타일 맵을 실험하고 있습니다. 타일 맵 데이터를 JavaScript 2D Array에 저장하려고합니다.아이소 메트릭 타일 맵의 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 축이 0 인이다.
var p = iso2screen(i, j, 0);
어쩌면 누군가 아이디어를 가지고 3 동일한 mapData[0][0]
Z 축과 같은 작업을 수행하는 방법; mapData[5][5]
Z 축은 5와 같습니다. ?
나는 Grass, Dirt 함수를 작성하고이 함수를 2D Array에 저장하고 나중에 mapData[0][0].setZ(3);
을 그립니다. 그러나 각 타일에 대한 함수를 작성하는 것이 좋습니다.
3D지도 (3D 배열)의 문제점은 무엇입니까? – Spektre