1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
#include <SFML/Graphics.hpp>
#include <vector>
int main()
{
sf::RenderWindow window(sf::VideoMode(1336, 768), "Blah");
sf::Texture groundTex;
if (!groundTex.loadFromFile("C:/Users/fad/Documents/maps/ground.png"))
return 0;
int map[5][5] = {
0,1,1,1,0,
1,0,0,1,0,
0,1,1,0,0,
1,0,0,1,0,
0,1,1,0,1
};
auto gbounds = groundTex.getSize();
std::vector<sf::Sprite> sprites;
sprites.reserve(5 * 5);
for (unsigned y = 0; y < 5; ++y)
{
for (unsigned x = 0; x < 5; ++x)
{
if (map[x][y] == 1)
{
sprites.resize(sprites.size() + 1);
sprites.back().setTexture(groundTex);
sprites.back().setPosition({ gbounds.x*float(x), gbounds.y*float(y) });
}
}
}
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
for (auto& sprite : sprites)
window.draw(sprite);
window.display();
}
}
|