HTML5 Canvas Diamond Изометрические - PullRequest
0 голосов
/ 31 июля 2011

Я пытаюсь создать изометрическую карту и следую за этим: Рисование изометрических игровых миров Мой код рисования:

var tiles = [tile1, tile2, tile3];
var objTiles = [objTile1, objTile2, objTile3];
var map = [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]];
var obj = [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]];
var tileW = 16;
var tileH = 16;

for(var i = 0; i < map.length; i++) {
    for(var j; j < map[i].length; j++) {
        var a = map[i][j];
        var b = obj[i][j];
        var x = (i-j) * tileH;
        var y = (i+j) * tileH/2;
        context.drawImage(tiles[0], x, y);
        if(b) {
            context.drawImage(objTiles[0], x, y - 16);
        }
    }
}

Здесь я могу нарисовать изометрическую карту с объектами одинакового размера.Но как рисовать объекты больше одной плитки?что-то вроде того, как нарисовать объект в 4 плитки?В этом примере объекты могут рисовать в одной плитке.

Простые фрагменты кода очень полезны.

Спасибо и извините за мой английский язык.

...