• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

SFML - jak wykonać background texture

Object Storage Arubacloud
+1 głos
1,857 wizyt
pytanie zadane 23 grudnia 2015 w C i C++ przez sofnir Gaduła (4,690 p.)
Hej, ze strony subtlepatterns pobrałem sobie obrazek tła - teksturę.Chciałbym teraz stworzyć tło, ale nie potrafię użyć opcji repetable. Żeby jej użyć mój sprajt musi być większy od textury, a jest tej samej wielkości. Jak nadać mojemu sprajtowi wielkość taką jakie ma moje okno aplikacji? W dokumentacji nie widzę, żeby była jakaś metoda setsize dlatego mam problem. Chyba, że robi się to w jakiś inny sposób?

Dziękuję za pomoc, Sofnir

1 odpowiedź

+2 głosów
odpowiedź 23 grudnia 2015 przez Patrycjerz Mędrzec (192,320 p.)
edycja 24 grudnia 2015 przez Patrycjerz
 
Najlepsza

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

komentarz 23 grudnia 2015 przez sofnir Gaduła (4,690 p.)
Dzięki, bardzo mi pomogłeś, tego właśnie szukałem :)

Podobne pytania

0 głosów
2 odpowiedzi 145 wizyt
pytanie zadane 23 listopada 2015 w C i C++ przez Avernis Nałogowiec (27,400 p.)
–1 głos
1 odpowiedź 163 wizyt
0 głosów
2 odpowiedzi 173 wizyt
pytanie zadane 28 sierpnia 2016 w C i C++ przez Daaa22 Dyskutant (8,250 p.)

92,624 zapytań

141,482 odpowiedzi

319,822 komentarzy

62,005 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...