W klasie sf::Texture masz dostępną metodę setRepeated - umożliwia ona wybranie trybu uzupełniania obrazu, gdy obszar pobrany z tekstury do obiektu sf::Sprite jest większy, niż ona sama. A czym jest ten obszar? Gdy wczytujesz normalnie teksturę do sprite'a, obszar ten ma wielkość tekstury, ale czasami potrzebujemy go zmienić, np. stosując tzw. tileset'y. W takim przypadku obszar jest mniejszy, niż tekstura. Gdy jest większy, reszta obrazu musi być czymś uzupełniona. Do tego właśnie służy setRepeated. Gdy ustawisz funkcję powtarzania, ten niezajęty obszar zapełni się powtórzeniem tekstury, zamiast granicznymi pikselami obrazu.
Przykłady:
Z włączonym powtórzeniem:
sf::Texture texture;
texture.loadFromFile("obraz.png");
texture.setRepeated(true);
sf::Sprite sprite(texture);
sprite.setTextureRect(sf::IntRect(0, 0, 1000, 1000)); // Tekstura ma np. rozmiar 100x100, więc obszar jest większy od niej 10 razy
Z wyłączonym powtórzeniem:
sf::Texture texture;
texture.loadFromFile("obraz.png");
sf::Sprite sprite(texture);
sprite.setTextureRect(sf::IntRect(0, 0, 1000, 1000)); // Tekstura ma np. rozmiar 100x100, więc obszar jest większy od niej 10 razy