#include "../headers/Background.h" #include //logika robimy dwa spraity i sie przesuwaja po sobie i resetuja jak wyjda poza ekran Background::Background(const std::string& texturePath, float speed) : speed(speed) { if (!texture.loadFromFile(texturePath)) { std::cerr << "Tlo sie nie zaladowalo!!! " << texturePath << "\n"; } sprite1.setTexture(texture); sprite2.setTexture(texture); sprite1.setPosition(0, 0); sprite2.setPosition(0, -texture.getSize().y); } void Background::update() { // Przesuwanie tła sprite1.move(0, speed); sprite2.move(0, speed); // Resetowanie pozycji tła if (sprite1.getPosition().y >= sprite1.getTexture()->getSize().y) { sprite1.setPosition(0, sprite2.getPosition().y - sprite2.getTexture()->getSize().y); } if (sprite2.getPosition().y >= sprite2.getTexture()->getSize().y) { sprite2.setPosition(0, sprite1.getPosition().y - sprite1.getTexture()->getSize().y); } } void Background::draw(sf::RenderWindow& window) { window.draw(sprite1); window.draw(sprite2); }