Puede agregar un atributo simple a cada mosaico que especifique su nivel.
Así por ejemplo:
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();
}
}
Ahora puede ordenar sus mosaicos en función de sus valores de capa y dibujarlos de abajo a arriba. Esto hará que parezca que tienes una cierta profundidad en tu juego. La mayoría de los motores de mosaico admiten esto. Otra cosa genial que puedes agregar es la transparencia a tus texturas para que puedas ver hasta la capa inferior.
Esto se puede hacer con agua, por ejemplo: imagine el agua en lvl 1 y luego el fondo del océano en lvl 0. Si la textura del agua es algo transparente, podrá ver el fondo del océano desde arriba.