Вы можете добавить простой атрибут к каждой плитке, который определяет ее уровень.
Так, например:
tileA.layer = 0 // Will be at the bottom
tileB.layer = 1 // Will be above level 0, on top of it.
// Add tiles to layered list
List<List<Tile>> tiles = new List<List<Tile>>();
tiles[0].add(tileA);
tiles[1].add(tileB);
// Draw 'em in the right order!
void Draw(List<List<Tile>> tiles) {
foreach( var listOfTiles in tiles ) {
foreach( var tile in listOfTiles ) {
tile.draw();
}
}
Теперь вы можете сортировать плитки в зависимости от их значений слоя и рисовать их снизу -> вверху! Это создаст впечатление, что у вас есть определенная глубина в вашей игре. Большинство движков тайлов поддерживают это. Еще одна интересная вещь, которую вы можете добавить, это прозрачность ваших текстур, чтобы вы могли видеть до нижнего слоя.
Это можно сделать, например, с водой - представьте себе воду на уровне 1, а затем дно океана на уровне 0. Если текстура воды несколько прозрачна, вы сможете увидеть дно океана сверху.