Dlaczego przy wywołaniu tej funkcji:
Engine engine(window);
Nic się nie rusuje, a powienna się namalować mapa kafelkowa;
Funkcja ta wygląda tak:
Engine::Engine(RenderWindow &window)
{
for(int i = 1; i < Map::COUNT; i++)
{
texture[i].loadFromFile("tileset.png", IntRect((i-1) * maps.tileWidth, 0, maps.tileWidth, maps.tileHeight));
}
maps.loadFromFile("map.txt");
for(int i = 0; i < maps.height; i++)
{
for(int j = 0; j < maps.width; j++)
{
if(maps.level[i][j].type != Map::NONE)
{
sprite[i][j].setTexture(texture[maps.level[i][j].type]);
sprite[i][j].setPosition(j * maps.tileWidth, i * maps.tileHeight);
}
}
}
runEngine(window);
}
void Engine::runEngine(RenderWindow &window)
{
Event event;
while(window.pollEvent(event))
{
}
window.clear();
for(int i = 0; i < maps.height; i++)
{
for(int j = 0; j < maps.width; j++)
{
if(maps.level[i][j].type != Map::NONE)
{
window.draw(sprite[i][j]);
}
}
}
window.display();
}