Как вывести слой на передний план SFML C++
Игра, где карта представляет собой массив. mytank - объект класса player, который я прилагать не стал. где "p" - куст. Нужно чтобы персонаж был за кустом. Знаю что нужно сначала сделать draw персонажа, а потом куста, но не знаю как это реализовать. Код:
//"0000000000000000"
//"0 0"
//"0 p 0"
//"0 0"
//"0000000000000000" // карта
mytank.update(time);
window.clear();
for (int i = 0; i < HEIGHT_MAP; i++)
for (int j = 0; j < WIDTH_MAP; j++)
{
if (TileMap[i][j] == ' ') s_map.setTextureRect(IntRect(225, 0, 32, 32)); //если встретили символ пробел, то рисуем 1й квадратик
if (TileMap[i][j] == 'w') s_map.setTextureRect(IntRect(193, 0, 32, 32));//если встретили символ s, то рисуем 2й квадратик
if ((TileMap[i][j] == '0')) s_map.setTextureRect(IntRect(0, 0, 32, 32));//если встретили символ 0, то рисуем 3й квадратик
if ((TileMap[i][j] == 'j')) s_map.setTextureRect(IntRect(32, 0, 32, 32));
if ((TileMap[i][j] == 'm')) s_map.setTextureRect(IntRect(64, 0, 32, 32));
if ((TileMap[i][j] == 'p')) s_map.setTextureRect(IntRect(160, 0, 32, 32));
s_map.setPosition(j * 32, i * 32);//по сути раскидывает квадратики, превращая в карту.
//то есть задает каждому из них позицию. если убрать, то вся карта нарисуется в одном квадрате 32*32 и мы увидим один квадрат
window.draw(s_map);//рисуем квадратики на экран
}
window.draw(mytank.sprite);
window.display();
}
return 0;
}
Как можно грамотно вынести "p" из этого цикла for?