This repository has been archived on 2025-06-06. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
LotoStatek/sources/Background.cpp

38 lines
1.1 KiB
C++

#include "../headers/Background.h"
#include <iostream>
//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);
}