Как вывести слой на передний план 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?


Ответы (0 шт):